[PIQUETE] DML - Linguagem de Manipulação de Dados

DML - Linguagem de Manipulação de Dados | Caderno de TI

DML — Data Manipulation Language

Linguagem de Manipulação de Dados: INSERT, UPDATE e DELETE

Banco de Dados MySQL SQL Técnico em Informática

O que é DML?

DML (Data Manipulation Language) é um subconjunto da linguagem SQL responsável por manipular os dados armazenados nas tabelas de um banco de dados. Enquanto outras categorias do SQL cuidam da estrutura (DDL) ou do controle de acesso (DCL), a DML é a categoria que usamos no dia a dia para inserir, modificar e remover registros.

SQL é dividida em categorias:

DDL
Estrutura das tabelas
CREATE · ALTER · DROP
DML ← Foco
Manipulação de dados
INSERT · UPDATE · DELETE
DQL
Consulta de dados
SELECT
DCL
Controle de acesso
GRANT · REVOKE

Os 3 Comandos Principais

INSERT
Adiciona novos registros à tabela
✏️
UPDATE
Modifica registros existentes
🗑️
DELETE
Remove registros da tabela

Tabela de Referência para os Exemplos

Usaremos a tabela alunos para demonstrar todos os comandos. Antes de tudo, crie a estrutura no MySQL:

MySQL — Criar tabela de exemplo
CREATE TABLE alunos (
  id    INT AUTO_INCREMENT PRIMARY KEY,
  nome  VARCHAR(100) NOT NULL,
  curso VARCHAR(50),
  nota  DECIMAL(4,2)
);

INSERT INTO — Inserir Dados

INSERT INTO

O comando INSERT INTO é usado para adicionar novos registros (linhas) a uma tabela. Você deve especificar em quais colunas os dados serão inseridos e os respectivos valores.

Sintaxe

Estrutura básica
INSERT INTO nome_tabela (coluna1, coluna2, coluna3)
VALUES (valor1, valor2, valor3);

Inserindo um único registro

Exemplo — 1 aluno
INSERT INTO alunos (nome, curso, nota)
VALUES ('Ana Silva', 'Informática', 8.5);
Resultado
Query OK, 1 row affected

Inserindo múltiplos registros de uma vez

Exemplo — múltiplos alunos
INSERT INTO alunos (nome, curso, nota)
VALUES
  ('Carlos Mendes',  'Informática',   7.0),
  ('Beatriz Souza', 'Administração', 9.2),
  ('Diego Lima',    'Logística',      5.5),
  ('Fernanda Costa','Informática',   6.8);
Resultado
Query OK, 4 rows affected
Dica: A coluna id foi declarada como AUTO_INCREMENT, portanto não precisamos informá-la no INSERT — o MySQL gera o valor automaticamente (1, 2, 3...).

UPDATE — Atualizar Dados

UPDATE

O comando UPDATE modifica valores já existentes em uma ou mais linhas da tabela. É essencial usar a cláusula WHERE para indicar quais registros devem ser alterados.

Sintaxe

Estrutura básica
UPDATE nome_tabela
SET   coluna1 = novo_valor1,
      coluna2 = novo_valor2
WHERE condicao;

Atualizando a nota de um aluno específico

Exemplo — atualizar por ID
UPDATE alunos
SET   nota = 9.0
WHERE id = 3;  -- Beatriz Souza
Resultado
Query OK, 1 row affected, 1 row changed

Atualizando múltiplas colunas ao mesmo tempo

Exemplo — alterar curso e nota
UPDATE alunos
SET   curso = 'Desenvolvimento de Sistemas',
      nota  = 8.0
WHERE nome = 'Diego Lima';

Atualizando todos que pertencem a um curso

Exemplo — por condição
UPDATE alunos
SET   nota = nota + 0.5  -- acrescenta 0,5 ponto
WHERE curso = 'Informática';
Perigo — UPDATE sem WHERE!
Se você executar UPDATE alunos SET nota = 0 sem o WHERE, todos os registros da tabela serão modificados. Sempre verifique sua condição antes de executar!

DELETE — Remover Dados

DELETE

O comando DELETE remove registros de uma tabela. Assim como o UPDATE, o WHERE é fundamental para não excluir mais dados do que o desejado. A operação pode ser desfeita com ROLLBACK se estiver dentro de uma transação.

Sintaxe

Estrutura básica
DELETE FROM nome_tabela
WHERE condicao;

Removendo um aluno pelo ID

Exemplo — remover por ID
DELETE FROM alunos
WHERE id = 4;
Resultado
Query OK, 1 row affected

Removendo alunos com nota abaixo de 5

Exemplo — remover por condição
DELETE FROM alunos
WHERE nota < 5.0;

Removendo todos os registros (com cuidado!)

Exemplo — apagar tudo vs TRUNCATE
-- DELETE sem WHERE: remove linha a linha, pode ser desfeito
DELETE FROM alunos;

-- TRUNCATE: muito mais rápido, reseta AUTO_INCREMENT, NÃO pode ser desfeito
TRUNCATE TABLE alunos;
Perigo — DELETE sem WHERE!
DELETE FROM alunos sem condição apaga todos os registros da tabela. A estrutura da tabela permanece, mas os dados somem. Prefira usar transações (BEGIN / ROLLBACK) em operações críticas.
DELETE vs TRUNCATE — qual a diferença?
O DELETE é um comando DML — ele pode ser desfeito dentro de uma transação. O TRUNCATE é DDL — apaga tudo instantaneamente, não registra linha a linha no log e não pode ser revertido. Use TRUNCATE apenas quando tiver certeza absoluta.

Transações — Protegendo suas Operações

Uma transação agrupa vários comandos DML em um bloco atômico: ou todos são confirmados juntos (COMMIT) ou todos são desfeitos (ROLLBACK). Isso garante a integridade dos dados em caso de erro.

Exemplo — usando transação
START TRANSACTION;  -- inicia a transação

INSERT INTO alunos (nome, curso, nota)
VALUES ('Lucas Prado', 'Informática', 7.5);

UPDATE alunos
SET nota = 8.0
WHERE nome = 'Ana Silva';

-- Se tudo estiver correto:
COMMIT;

-- Se algo deu errado, desfaz tudo:
-- ROLLBACK;

Resumo Comparativo

Comando Ação Requer WHERE? Pode desfazer? Afeta
INSERT INTO Adiciona registros Não Sim (ROLLBACK) Linhas novas
UPDATE Modifica registros Sim (recomendado) Sim (ROLLBACK) Linhas existentes
DELETE FROM Remove registros Sim (recomendado) Sim (ROLLBACK) Linhas existentes
TRUNCATE Remove tudo Não se aplica Não (DDL) Toda a tabela

Boas Práticas

Sempre use WHERE

Antes de executar um UPDATE ou DELETE, confirme sua condição com um SELECT para ver exatamente quais registros serão afetados.

Use Transações

Para operações críticas, envolva seus comandos em START TRANSACTION … COMMIT para ter a opção de desfazer com ROLLBACK.

Faça Backup

Antes de manipular dados em produção, sempre gere um backup (mysqldump) para garantir que você pode restaurar em caso de erro.

Teste com SELECT

Execute um SELECT * FROM tabela WHERE … com a mesma condição do UPDATE/DELETE antes de confirmar a operação.

Comentários

Postagens mais visitadas deste blog

Introdução aos Sistemas de Gerenciamento de Banco de Dados

Introdução ao HTML, CSS e JavaScript - Guia para Iniciantes

Introdução ao Excel