🧱 1. DDL – Data Definition Language (Linguagem de Definição de Dados)

Esses comandos são usados para criar e modificar a estrutura do banco de dados, tabelas, colunas, índices, visões, etc.

Eles não manipulam dados, apenas a estrutura.

Comando Função Exemplo
CREATE Cria um novo objeto (tabela, view, índice, etc.) CREATE TABLE Clientes (ID INT PRIMARY KEY, Nome VARCHAR(100));
ALTER Altera a estrutura de um objeto existente ALTER TABLE Clientes ADD COLUMN Email VARCHAR(255);
DROP Exclui um objeto do banco (tabela, view, etc.) DROP TABLE Clientes;
TRUNCATE Remove todos os registros de uma tabela, mas mantém sua estrutura TRUNCATE TABLE Clientes;

🧩 Dica: DDLs geralmente fazem commit automático, ou seja, as alterações são salvas de forma imediata e irreversível

🔐 2. DCL – Data Control Language (Linguagem de Controle de Dados)

Esses comandos são usados para controlar o acesso e as permissões no banco de dados de quem pode ler, escrever ou alterar algo.

Comando Função Exemplo
GRANT Concede permissões a um usuário ou função GRANT SELECT, INSERT ON Clientes TO usuario_teste;
REVOKE Remove permissões concedidas anteriormente REVOKE INSERT ON Clientes FROM usuario_teste;

🧩 Dica: DCL é essencial em ambientes corporativos, garantindo segurança e controle de acesso.

🧮 3. DML – Data Manipulation Language (Linguagem de Manipulação de Dados)

Esses comandos manipulam o conteúdo das tabelas (inserção, atualização e exclusão de registros).

Comando Função Exemplo
INSERT Insere novas linhas INSERT INTO Clientes (ID, Nome, Email) VALUES (1, 'Darlan', 'darlan@email.com');
UPDATE Atualiza valores existentes UPDATE Clientes SET Email = 'novo@email.com' WHERE ID = 1;
DELETE Remove linhas existentes DELETE FROM Clientes WHERE ID = 1;

🧩 Dica: DMLs podem ser revertidos (rollback) se usados dentro de uma transação.

🔍 4. DQL – Data Query Language (Linguagem de Consulta de Dados)

É usada para consultar e recuperar dados das tabelas.

O comando mais importante (e poderoso) do SQL está aqui: o SELECT.

Comando Função Exemplo
SELECT Retorna dados de uma ou mais tabelas SELECT Nome, Email FROM Clientes WHERE ID > 10;

🧩 Dica: O SELECT pode se tornar muito poderoso quando combinado com JOINs, GROUP BY, HAVING, ORDER BY, funções de agregação, etc.