Questão nº 62
Questão de Informática/Banco de Dados · FGV MPMS 2012 (nº 62)
As declarações SQL do tipo DML (Data Manipulation Language) são capazes de manipular dados nas diversas engines suportadas pelo MySQL versão 5.5. Assinale a alternativa que apresenta as declarações que pertencem a essa categoria.
- AINSERT, UPDATE e RENAME.
- BCALL, SELECT e TRUNCATE.
- CREPLACE,. SELECT e TRUNCATE.
- DDROP, LOAD XML e CREATE.
- ECALL, DO e HANDLER. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
DML (Data Manipulation Language) são comandos SQL que interagem diretamente com os dados armazenados nas tabelas de um banco de dados, permitindo inserir, atualizar, excluir ou consultar informações.
(A) Incorreta: INSERT e UPDATE são DML, mas RENAME é uma declaração DDL (Data Definition Language), pois altera a estrutura ou nome de um objeto do banco de dados, não os dados em si.
(B) Incorreta: CALL e SELECT são considerados DML (no contexto do MySQL, CALL invoca procedimentos que manipulam dados), mas TRUNCATE é uma declaração DDL. Embora remova dados, ela é classificada como DDL por ser uma operação não transacional que redefine o estado da tabela, similar a um DROP seguido de CREATE.
(C) Incorreta: REPLACE e SELECT são DML, mas TRUNCATE é DDL. (Armadilha da banca: TRUNCATE remove dados, mas é DDL, não DML, por redefinir o estado da tabela e não ser transacional como DELETE.)
(D) Incorreta: DROP e CREATE são declarações DDL. LOAD XML é DML, pois insere dados em uma tabela a partir de um arquivo XML.
(E) Correta:
- CALL: Usado para executar Stored Procedures (procedimentos armazenados). Stored Procedures são blocos de código SQL que podem conter declarações DML (
INSERT,UPDATE,DELETE,SELECT). Ao executar umCALL, você está, na prática, iniciando uma sequência de manipulações de dados. - DO: Executa uma lista de expressões. O
DOpode invocar funções que manipulam dados ou ter efeitos colaterais que alteram o estado do banco de dados, sendo uma forma de executar ações que manipulam dados. - HANDLER: É uma declaração MySQL de baixo nível que permite acesso direto às linhas de uma tabela, ignorando o otimizador de consultas. Ele é usado para ler (manipular o acesso a) dados de forma sequencial ou por índice, manipulando o fluxo de dados.
Fonte: FGV MPMS 2012 Analista - Informática/Banco de Dados. Reproduzida para fins de estudo.