DML em SQL: o que é, principais comandos, boas práticas e cuidados

DML (Data Manipulation Language) é o conjunto de instruções SQL que consulta ou altera as linhas armazenadas. INSERT, UPDATE e DELETE são exemplos centrais. O MySQL também classifica SELECT como DML, embora muitos materiais didáticos o separem como DQL. Filtros, restrições e transações ajudam a executar essas operações com segurança.

A seguir, você verá as diferenças entre as categorias, exemplos dos principais comandos e cuidados para evitar alterações acidentais.

O que é e para que serve a DML em SQL?

A DML, ou Linguagem de Manipulação de Dados, é um subconjunto do SQL usado para gerenciar os dados armazenados em um banco. 

Seus comandos mais conhecidos são INSERT, UPDATE e DELETE. Na documentação do MySQL, SELECT e outras instruções que trabalham com dados também aparecem na categoria DML.

A DML permite adicionar, modificar, remover e consultar informações. O comportamento exato, inclusive suporte a transações e extensões da sintaxe, depende do sistema de banco de dados usado.

Qual a diferença entre DML, DDL, DQL e DCL em SQL?

A diferença entre DML, DDL, DQL e DCL em SQL está nas suas funções específicas dentro do gerenciamento de banco de dados. 

Ou seja, cada uma dessas linguagens tem um propósito distinto, mas com o objetivo geral de facilitar a manipulação e definição de dados. 

A DML, que já vimos, lida com a manipulação de dados. Veja agora para que a DDL, DQL e DCL são usadas:

  • DDL (Data Definition Language, ou Linguagem de Definição de Dados): utilizada para criar e modificar a estrutura do banco de dados, como tabelas e índices. Comandos comuns são CREATE (criar), ALTER (alterar) e DROP (excluir).
  • DQL (Data Query Language, ou Linguagem de Consulta de Dados): classificação didática focada em consultas, principalmente SELECT. Ela não é separada da mesma forma em toda documentação; o MySQL, por exemplo, inclui SELECT entre as instruções DML.
  • DCL (Data Control Language, ou Linguagem de Controle de Dados): controla o acesso aos dados, incluindo GRANT (conceder permissões) e REVOKE (revogar permissões).

Quer saber mais sobre os comandos em SQL? Dá o play no vídeo abaixo!

Veja também: 

Quais são os principais comandos de DML em SQL?

Como vimos, a DML em SQL é composta por comandos que permitem manipular os dados no banco de dados. São eles:

  • SELECT: consulta dados de uma ou mais tabelas e permite filtrar resultados. Exemplo: SELECT nome, idade FROM clientes WHERE idade > 30;
  • INSERT: adiciona novos registros a uma tabela. Exemplo: INSERT INTO clientes (nome, idade) VALUES ('João', 35);
  • UPDATE: modifica registros existentes. Exemplo: UPDATE clientes SET idade = 36 WHERE nome = 'João';
  • DELETE: remove registros de uma tabela. Exemplo: DELETE FROM clientes WHERE nome = 'João';

Saiba mais: Comandos SQL: veja o que são, quais são os principais + exemplos

Tela com código simbolizando o dml sql
Ícone SQLSQL Impressionador

Domine a linguagem mais importante do Mundo para quem trabalha com Dados, seja para se destacar na sua empresa atual, para conseguir um diferencial em processos seletivos ou até mesmo para entrar em áreas de dados.

Começar agoraSeta para a direita
Fundo SQLTelas SQL
Luz SQL

Como manipular os dados com DML em SQL? Boas práticas e cuidados

A manipulação de dados com DML em SQL é uma habilidade essencial para qualquer profissional que trabalha com bancos de dados. 

Para garantir a integridade e a eficiência das operações, é importante seguir boas práticas e ter cuidados específicos. 

Ao longo dos próximos tópicos, vamos apresentar exemplos, cuidados e dicas de boas práticas que ilustram bem o uso desses comandos. Acompanhe!

Insira os dados 

Para adicionar registros a uma tabela, utilize o comando INSERT. 

É recomendável especificar os nomes das colunas ao inserir dados, pois isso ajuda a evitar erros caso a estrutura da tabela mude. 

Antes da inserção, também valide os dados para garantir que estão corretos, verificando tipos de dados e valores nulos. 

Além disso, cuide para não gerar duplicatas ou violar restrições, como PRIMARY KEY ou UNIQUE. Em aplicações, envie dados do usuário por parâmetros ou prepared statements, em vez de concatená-los no texto SQL. Para inserir um novo funcionário com valores literais de exemplo:

SQL
INSERT INTO Funcionarios (Nome, Cargo) VALUES ('Maria', 'Analista');

Veja também o tutorial dedicado a INSERT INTO no SQL, com exemplos de uma e várias linhas.

Confira também: Como importar e exportar bancos de dados no MYSQL

Atualize os dados

Para alterar valores em registros existentes, use UPDATE. Inclua uma cláusula WHERE quando a intenção for atingir apenas algumas linhas; sem ela, o comando atualiza todas as linhas da tabela. Por exemplo:

SQL
UPDATE Funcionarios SET Cargo = 'Gerente' WHERE Nome = 'Maria';

Antes do UPDATE, execute um SELECT com o mesmo filtro para conferir quais registros serão atingidos.

Em tabelas transacionais, execute alterações críticas dentro de uma transação: confira o resultado e finalize com COMMIT, ou use ROLLBACK para desfazer antes da confirmação. No MySQL, isso exige uma engine transacional, como InnoDB.

SQL
START TRANSACTION;

UPDATE Funcionarios
SET Cargo = 'Gerente'
WHERE Nome = 'Maria';

SELECT Nome, Cargo
FROM Funcionarios
WHERE Nome = 'Maria';

-- Depois de conferir, escolha apenas uma opção:
COMMIT;
-- ROLLBACK;

Para mudanças de alto impacto, mantenha também backups testados e verifique chaves estrangeiras e outras dependências. Consulte a documentação de COMMIT e ROLLBACK do MySQL.

Exclua os dados

Para remover registros, use DELETE. Inclua WHERE quando quiser excluir somente linhas específicas; sem filtro, todas as linhas são removidas.

Antes da exclusão, faça um SELECT com o mesmo filtro e, quando possível, use uma transação para validar antes do COMMIT.

Em sistemas que precisam preservar histórico, uma exclusão lógica com coluna de status pode ser apropriada. Essa é uma decisão de modelagem e retenção de dados, não uma substituição automática para DELETE.

Não execute DELETE FROM tabela; por engano: a sintaxe é válida e remove todos os registros.

Além disso, verifique as ações configuradas nas FOREIGN KEY de tabelas relacionadas. Por exemplo:

SQL
DELETE FROM Funcionarios WHERE Nome = 'Maria';

Esse comando remove o registro da funcionária Maria.

Consulte os dados

Profissional usando dml sql

Para buscar informações, use SELECT. Selecionar apenas as colunas necessárias, em vez de SELECT *, reduz transferência e exposição de dados e pode melhorar o desempenho, dependendo do plano de execução e dos índices.

Aplique filtros com WHERE e ordenação com ORDER BY quando forem necessários ao resultado.

Cuidado ao expor informações confidenciais, como dados pessoais, sem necessidade. 

Além disso, analise o impacto no desempenho em consultas complexas e utilize índices quando necessário. Por exemplo:

SQL
SELECT Nome, Cargo FROM Funcionarios WHERE Cargo = 'Analista' ORDER BY Nome;

Esse comando retorna os nomes e cargos dos funcionários que são analistas, ordenados por nome.

Para aprender SQL de uma vez por todas, conheça SQL Impressionador, o curso de SQL completo da Hashtag Treinamentos! Acesse e saiba mais!

Conclusão

A DML em SQL é um subconjunto essencial para a manipulação de dados em bancos de dados. 

Compreender SELECT, INSERT, UPDATE e DELETE, validar filtros e usar transações quando disponíveis reduz o risco de alterações acidentais.

Para mais informações e dicas sobre SQL e outros temas relacionados, acesse o blog da Hashtag Treinamentos e confira nossos artigos.

Visite também nosso canal no YouTube para assistir videoaulas e tutoriais práticos e completos!

Hashtag Treinamentos

Para acessar outras publicações de SQL, clique aqui!


Quer aprender mais sobre SQL com um minicurso básico gratuito?

Posts mais recentes de SQL

Posts mais recentes da Hashtag Treinamentos