Considerando que as tabelas apresentadas na Figura 4 foram criadas no SGBD MySQL, versão 8.0, assinale a alternativa que apresenta um comando SQL para excluir a coluna TURNO_PREFERENCIAL da tabela PROFESSOR.
GabaritoE — ALTER TABLE PROFESSOR
DROP COLUMN TURNO_PREFERENCIAL;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Comandos DDL no MySQL: excluindo uma coluna
Gabarito: letra E. Para excluir uma coluna de uma tabela existente no MySQL, a sintaxe correta é ALTER TABLE nome_da_tabela DROP COLUMN nome_da_coluna; — o comando ALTER TABLE modifica a estrutura da tabela e a cláusula DROP COLUMN especifica a remoção da coluna. As demais alternativas apresentam erros de sintaxe ou usam comandos inadequados para essa operação.
A exclusão de uma coluna é uma operação de DDL (Data Definition Language), a sublinguagem do SQL responsável por definir e modificar a estrutura dos objetos do banco de dados (tabelas, índices, visões, etc.). Enquanto o CREATE cria objetos e o DROP remove objetos inteiros, o ALTER é o comando que modifica a estrutura de um objeto existente — como adicionar, modificar ou excluir colunas de uma tabela.
No MySQL, a sintaxe para remover uma coluna específica é:
ALTER TABLE nome_da_tabela
DROP COLUMN nome_da_coluna;
O DROP COLUMN é a cláusula que indica a remoção da coluna. É importante notar que o DROP sozinho (sem COLUMN) também é aceito em alguns SGBDs, mas a forma completa e mais clara é com DROP COLUMN. O comando ALTER TABLE é obrigatório porque é ele que sinaliza a alteração da estrutura da tabela.
A confusão mais comum neste tema é misturar os comandos de manipulação de dados (DML) com os de definição de dados (DDL). O DELETE é um comando DML que remove linhas (registros) de uma tabela, não colunas. Já o DROP e o ALTER são DDL: o primeiro remove objetos inteiros (tabela, banco, índice) e o segundo modifica a estrutura de objetos existentes. Excluir uma coluna é uma alteração estrutural, portanto exige ALTER TABLE.
Vamos analisar cada alternativa para fixar o conceito e identificar os erros específicos de cada uma.
Comandos SQL
1DDL (estrutura)
CREATE (cria objetos)
ALTER (modifica estrutura)
DROP COLUMN (exclui coluna)
DROP (remove objetos inteiros)
2DML (dados)
DELETE (remove linhas)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
O comando DROP TURNO_PREFERENCIAL ON TABLE PROFESSOR; está incorreto. A sintaxe do DROP para remover uma coluna não é essa. O DROP sozinho é usado para remover objetos inteiros (como DROP TABLE PROFESSOR), não colunas específicas. Para excluir uma coluna, é necessário usar ALTER TABLE ... DROP COLUMN .... A cláusula ON TABLE não faz parte da sintaxe de exclusão de coluna no MySQL.
Alternativa B — ❌ Incorreta
O comando DELETE COLUMN TURNO_PREFERENCIAL FROM PROFESSOR; está incorreto. O DELETE é um comando DML usado para remover linhas de uma tabela, não colunas. A sintaxe correta do DELETE é DELETE FROM nome_da_tabela WHERE condição;. Não existe a cláusula DELETE COLUMN no SQL. Para excluir uma coluna, a operação é estrutural (DDL) e deve usar ALTER TABLE ... DROP COLUMN ....
Alternativa C — ❌ Incorreta
O comando DELETE ON PROFESSOR COLUMN TURNO_PREFERENCIAL; está incorreto. Novamente, o DELETE é para remover linhas, não colunas. Além disso, a ordem das palavras-chave está errada: não existe DELETE ON seguido de COLUMN. A sintaxe correta para exclusão de coluna é ALTER TABLE ... DROP COLUMN ....
Alternativa D — ❌ Incorreta
O comando ALTER PROFESSOR DELETE TURNO_PREFERENCIAL; está incorreto. Embora use ALTER, falta a palavra-chave TABLE (a sintaxe correta é ALTER TABLE). Além disso, a cláusula para excluir coluna é DROP COLUMN, não DELETE. O DELETE é um comando DML, não uma cláusula do ALTER.
Alternativa E — ✅ Correta ⟵ GABARITO
O comando ALTER TABLE PROFESSOR DROP COLUMN TURNO_PREFERENCIAL; está correto. Ele usa a sintaxe adequada: ALTER TABLE para modificar a estrutura da tabela PROFESSOR e DROP COLUMN para remover a coluna TURNO_PREFERENCIAL. Esta é a forma padrão no MySQL (e na maioria dos SGBDs relacionais) para excluir uma coluna de uma tabela existente.
NÃO CAIA NESSA!
Para diferenciar os comandos, lembre-se: DELETE remove linhas (DML), DROP remove objetos inteiros (DDL) e ALTERmodifica a estrutura de um objeto (DDL). Excluir uma coluna é uma alteração estrutural, então use ALTER TABLE ... DROP COLUMN .... Na prova, desconfie de alternativas que usam DELETE para excluir colunas — é a pegadinha clássica.