Comandos DCL no MySQL
Gabarito: letra C. Em MySQL, o comando para revogar privilégios de um usuário é REVOKE. A sintaxe correta é REVOKE <privilégio> ON <objeto> FROM <usuário>, conforme o padrão SQL e a documentação do MySQL. A alternativa C apresenta exatamente REVOKE INSERT ON Tabela FROM 'Usuario';, que remove a permissão de INSERT do usuário na tabela.
A questão cobra o conhecimento dos comandos de Controle de Dados (DCL) do SQL, especificamente a revogação de privilégios. No MySQL, GRANT concede e REVOKE retira permissões.
Alternativa A — ❌ Incorreta
REMOVE não é um comando SQL válido para controle de acesso. Em MySQL, não existe comando REMOVE para privilégios; a palavra-chave correta é REVOKE.
Alternativa B — ❌ Incorreta
DELETE é um comando da DML (Data Manipulation Language), usado para remover registros de tabelas, não para gerenciar permissões. Não há sintaxe de DCL com DELETE para revogar privilégios.
Alternativa C — ✅ Correta ⟵ GABARITO
REVOKE INSERT ON Tabela FROM 'Usuario'; segue exatamente a sintaxe padrão do comando REVOKE: REVOKE <privilégio> ON <objeto> FROM <usuário>. No MySQL 8, essa instrução remove do usuário Usuario a permissão de inserir dados na tabela Tabela.
Alternativa D — ❌ Incorreta
REVOKE GRANT OPTION ON Tabela FROM 'Usuario'; revoga apenas a opção de conceder o privilégio a outros usuários (GRANT OPTION), mas não o privilégio em si. Para remover o privilégio de INSERT, é necessário especificar o privilégio, não a cláusula GRANT OPTION.
Alternativa E — ❌ Incorreta
DENY é um comando do Microsoft SQL Server, não do MySQL. No MySQL, a negação explícita de privilégios não existe; utiliza-se REVOKE para retirar permissões já concedidas.
Gabarito: letra C — REVOKE INSERT ON Tabela FROM 'Usuario';.