Comandos básicos: 1. Criar banco de dados: CREATE DATABASE nome_banco
2. Remover banco de dados: DROP DATABASE nome_banco
3. Backup no SQL Server: USE master
EXEC sp_addumpdevice 'disk', 'backupDevice', 'C:\\backup\\dados.bak'
BACKUP DATABASE exemplo TO backupDevice
4. Criar tabela: CREATE TABLE clientes (id INT PRIMARY KEY, nome VARCHAR(50))
Criar a partir de tabela existente: CREATE TABLE novo_clientes AS SELECT * FROM clientes WHERE 1=0
5. Excluir tabela: DROP TABLE clientes
6. Adicioanr coluna: ALTER TABLE clientes ADD email VARCHAR(100)
7. Chave primária: ALTER TABLE clientes ADD PRIMARY KEY (id)
8. Índices: CREATE INDEX idx_nome ON clientes (nome)
DROP INDEX idx_nome
9. Views: CREATE VIEW v_clientes AS SELECT id, nome FROM clientes
DROP VIEW v_clientes
Operações básicas: ```
-- Seleção SELECT * FROM produtos WHERE preco > 100
-- Inserção INSERT INTO produtos (nome, preco) VALUES ('Monitor', 350)
-- Atualização UPDATE produtos SET preco = 400 WHERE id = 10
-- Exclusão DELETE FROM produtos WHERE estoque = 0
-- Filtro com LIKE SELECT * FROM clientes WHERE nome LIKE 'A%'
-- Agregações SELECT COUNT(*) AS total, AVG(preco) AS media FROM produtos
Operadores avançados: ```
-- União
SELECT produto FROM lojaA
UNION
SELECT produto FROM lojaB
-- Diferença
SELECT id FROM tabelaA
EXCEPT
SELECT id FROM tabelaB
-- Interseção
SELECT id FROM tabelaA
INTERSECT
SELECT id FROM tabelaB
Junções: ```
-- Junção esquerda SELECT a.id, b.venda FROM clientes a LEFT JOIN vendas b ON a.id = b.cliente_id
-- Junção direita SELECT a.id, b.pagamento FROM clientes a RIGHT JOIN pagamentos b ON a.id = b.cliente_id
-- Junção completa SELECT a.id, b.historico FROM clientes a FULL OUTER JOIN acessos b ON a.id = b.cliente_id
Exemplos úteis: ```
-- Copiar estrutura
SELECT * INTO nova_tabela FROM original WHERE 1=2
-- Copiar dados entre bancos
INSERT INTO db2.dbo.clientes
SELECT * FROM db1.dbo.clientes
-- Subconsulta
SELECT nome FROM clientes
WHERE id IN (SELECT cliente_id FROM pedidos)
-- Paginação
SELECT TOP 10 *
FROM (SELECT TOP 20 id, data FROM logs ORDER BY data DESC) AS temp
ORDER BY data ASC
Modificação de tabelas: ```
-- Adicionar coluna autoincremento ALTER TABLE usuarios ADD codigo INT IDENTITY(1,1) PRIMARY KEY
-- Renomear coluna ALTER TABLE pedidos ALTER COLUMN valor DECIMAL(10,2)
-- Alterar tipo de dados ALTER TABLE produtos ALTER COLUMN preco MONEY
-- Remover coluna ALTER TABLE funcionarios DROP COLUMN endereco_antigo
Aleatoriedade: ```
-- 10 registros aleatórios (SQL Server)
SELECT TOP 10 * FROM produtos ORDER BY NEWID()
-- 5 registros aleatórios (MySQL)
SELECT * FROM clientes ORDER BY RAND() LIMIT 5