Os comandos do SQL são divididos em grupos conforme sua função. Entender as siglas ajuda a estudar para provas e a organizar permissões.
| Sigla | Nome | Função | Comandos |
|---|---|---|---|
| DDL | Data Definition Language | Define e altera a estrutura do banco | CREATE, ALTER, DROP, TRUNCATE |
| DML | Data Manipulation Language | Manipula os dados | INSERT, UPDATE, DELETE |
| DQL | Data Query Language | Consulta dados | SELECT |
| DCL | Data Control Language | Controla permissões | GRANT, REVOKE |
| TCL / DTL | Transaction Control / Data Transaction Language | Controla transações | COMMIT, ROLLBACK, SAVEPOINT |
Alguns autores incluem o SELECT na DML. DTL e TCL são nomes para o mesmo grupo.
Exemplos
DDL
CREATE TABLE produtos (id INT PRIMARY KEY, nome VARCHAR(80), preco DECIMAL(10,2));
ALTER TABLE produtos ADD COLUMN estoque INT DEFAULT 0;
DROP TABLE produtos;
DML e DQL
INSERT INTO produtos (id, nome, preco) VALUES (1, 'Mouse', 59.90);
UPDATE produtos SET preco = 49.90 WHERE id = 1;
DELETE FROM produtos WHERE id = 1;
SELECT nome, preco FROM produtos WHERE preco < 100;
DCL
GRANT SELECT, INSERT ON loja.produtos TO 'app'@'localhost';
REVOKE INSERT ON loja.produtos FROM 'app'@'localhost';
TCL
START TRANSACTION;
UPDATE contas SET saldo = saldo - 100 WHERE id = 1;
UPDATE contas SET saldo = saldo + 100 WHERE id = 2;
COMMIT; -- ou ROLLBACK para desfazer
Dica
DELETE remove linhas (com WHERE) e pode ser desfeito em transações; TRUNCATE esvazia a tabela inteira e DROP remove a tabela. Em vários bancos, comandos DDL confirmam a transação automaticamente.
