У вас есть несколько вариантов.
Один из вариантов - просто запустить команду ALTER TABLE и игнорировать ошибку, если столбец не существует.
Другой вариант, более близкий по духу к вашей первоначальной попытке, состоит в том, чтобы условно вывести DDL в сценарий SQL на диске, если столбец существует, а затем создать этот сценарий SQL для запуска DDL (если есть).
Вот пример:
-- delete the SQL script if it exists
\! rm /tmp/drop_column.sql
-- Conditionally dump the DDL to a SQL script if the column exists
SELECT concat('ALTER TABLE ',table_schema,'.',table_name,
' DROP COLUMN ',column_name,';') as sql_stmt
into outfile '/tmp/drop_column.sql'
FROM INFORMATION_SCHEMA.columns
WHERE table_name = 'MyTableName' AND column_name = 'ColumnInQuestion';
-- execute the SQL script
\. /tmp/drop_column.sql
-- delete the SQL script from disk
\! rm /tmp/drop_column.sql