Comandos SQL - DML e DQL
## 1. Data Manipulation Language (DML)
A DML (Linguagem de Manipulação de Dados) é usada para inserir, atualizar, excluir e manipular
dados nas tabelas.
### 1.1 INSERT
Descrição: Insere novos registros em uma tabela.
Sintaxe:
INSERT INTO nome_da_tabela (coluna1, coluna2, ...) VALUES (valor1, valor2, ...);
Exemplo:
INSERT INTO clientes (id, nome, idade, cidade) VALUES (1, 'Carlos Silva', 30, 'São Paulo');
### 1.2 UPDATE
Descrição: Atualiza registros existentes em uma tabela.
Sintaxe:
UPDATE nome_da_tabela SET coluna1 = valor1, coluna2 = valor2 WHERE condição;
Exemplo:
UPDATE clientes SET idade = 31 WHERE id = 1;
### 1.3 DELETE
Descrição: Remove registros de uma tabela.
Sintaxe:
DELETE FROM nome_da_tabela WHERE condição;
Exemplo:
DELETE FROM clientes WHERE id = 1;
## 2. Data Query Language (DQL)
A DQL (Linguagem de Consulta de Dados) é usada para recuperar dados de uma base.
### 2.1 SELECT
Descrição: Recupera dados de uma ou mais tabelas.
Sintaxe:
SELECT coluna1, coluna2 FROM nome_da_tabela WHERE condição;
Exemplo:
SELECT nome, idade FROM clientes WHERE cidade = 'São Paulo';
### 2.2 SELECT DISTINCT
Descrição: Retorna apenas valores distintos (não duplicados).
Sintaxe:
SELECT DISTINCT coluna FROM nome_da_tabela;
Exemplo:
SELECT DISTINCT cidade FROM clientes;
### 2.3 WHERE
Descrição: Filtra registros com base em uma condição.
Sintaxe:
SELECT * FROM nome_da_tabela WHERE condição;
Exemplo:
SELECT * FROM clientes WHERE idade > 25;
### 2.4 ORDER BY
Descrição: Ordena os resultados de uma consulta.
Sintaxe:
SELECT * FROM nome_da_tabela ORDER BY coluna ASC|DESC;
Exemplo:
SELECT * FROM clientes ORDER BY idade DESC;
### 2.5 GROUP BY
Descrição: Agrupa registros com base em valores comuns.
Sintaxe:
SELECT coluna, COUNT(*) FROM nome_da_tabela GROUP BY coluna;
Exemplo:
SELECT cidade, COUNT(*) FROM clientes GROUP BY cidade;
### 2.6 HAVING
Descrição: Filtra grupos após a agregação.
Sintaxe:
SELECT coluna, COUNT(*) FROM nome_da_tabela GROUP BY coluna HAVING condição;
Exemplo:
SELECT cidade, COUNT(*) FROM clientes GROUP BY cidade HAVING COUNT(*) > 2;
### 2.7 LIMIT
Descrição: Define o número máximo de registros retornados.
Sintaxe:
SELECT * FROM nome_da_tabela LIMIT número;
Exemplo:
SELECT * FROM clientes LIMIT 5;
### 2.8 JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN)
Descrição: Combina registros de duas ou mais tabelas com base em uma condição.
INNER JOIN (Apenas registros correspondentes)
SELECT [Link], [Link] FROM tabelaA A INNER JOIN tabelaB B ON [Link] = [Link];
LEFT JOIN (Todos os registros da tabela da esquerda e correspondentes da direita)
SELECT [Link], [Link] FROM tabelaA A LEFT JOIN tabelaB B ON [Link] = [Link];
RIGHT JOIN (Todos os registros da tabela da direita e correspondentes da esquerda)
SELECT [Link], [Link] FROM tabelaA A RIGHT JOIN tabelaB B ON [Link] = [Link];
FULL JOIN (Todos os registros de ambas as tabelas)
SELECT [Link], [Link] FROM tabelaA A FULL JOIN tabelaB B ON [Link] = [Link];
Exemplo:
SELECT [Link], [Link] FROM clientes INNER JOIN pedidos ON [Link] =
pedidos.cliente_id;