Conexão
| Comando | Descrição |
|---|---|
psql -U user -d dbname | Conectar ao PostgreSQL |
mysql -u user -p dbname | Conectar ao MySQL |
\q / exit | Encerrar conexão |
\c dbname | Trocar de DB (PostgreSQL) |
use dbname; | Trocar de DB (MySQL) |
Operações de Banco de Dados
| SQL | Descrição |
|---|---|
CREATE DATABASE dbname; | Criar banco de dados |
DROP DATABASE dbname; | Excluir banco de dados |
\l / SHOW DATABASES; | Listar bancos de dados |
\dt / SHOW TABLES; | Listar tabelas |
\d table / DESCRIBE table; | Exibir estrutura da tabela |
Operações de Tabela
| SQL | Descrição |
|---|---|
CREATE TABLE t (col type); | Criar tabela |
DROP TABLE t; | Excluir tabela |
TRUNCATE TABLE t; | Excluir todos os dados (rápido) |
ALTER TABLE t ADD col type; | Adicionar coluna |
ALTER TABLE t DROP col; | Excluir coluna |
ALTER TABLE t RENAME TO new; | Renomear tabela |
Tipos de Dados
| Tipo | Descrição |
|---|---|
INTEGER / INT | Inteiro |
BIGINT | Inteiro grande |
DECIMAL(p,s) | Ponto fixo decimal |
FLOAT / REAL | Ponto flutuante |
VARCHAR(n) | String de comprimento variável |
TEXT | Texto longo |
BOOLEAN | Booleano |
DATE | Data |
TIMESTAMP | Data e hora |
JSON / JSONB | Dados JSON |
UUID | Identificador único |
SELECT (Consulta de Dados)
| SQL | Descrição |
|---|---|
SELECT * FROM t; | Obter todas as colunas |
SELECT col1, col2 FROM t; | Obter colunas específicas |
SELECT DISTINCT col FROM t; | Remover duplicatas |
SELECT * FROM t WHERE cond; | Especificar condição |
SELECT * FROM t ORDER BY col; | Ordenar |
SELECT * FROM t LIMIT 10; | Limitar quantidade |
SELECT * FROM t OFFSET 10; | Offset |
Condições WHERE
| Condição | Descrição |
|---|---|
col = 'value' | Igual |
col != 'value' / col <> 'value' | Diferente |
col > / < / >= / <= | Comparação |
col BETWEEN a AND b | Intervalo |
col IN ('a', 'b') | Dentro da lista |
col LIKE '%pattern%' | Correspondência de padrão |
col ILIKE '%pattern%' | Ignorar maiúsculas/minúsculas (PostgreSQL) |
col IS NULL | Verificar NULL |
col IS NOT NULL | Verificar não NULL |
cond1 AND cond2 | Condição AND |
cond1 OR cond2 | Condição OR |
INSERT / UPDATE / DELETE
| SQL | Descrição |
|---|---|
INSERT INTO t (cols) VALUES (vals); | Inserir dados |
INSERT INTO t VALUES (vals); | Inserir em todas as colunas |
UPDATE t SET col=val WHERE cond; | Atualizar dados |
DELETE FROM t WHERE cond; | Excluir dados |
JOIN (Junção)
| SQL | Descrição |
|---|---|
INNER JOIN t2 ON t1.id = t2.id | Junção interna |
LEFT JOIN t2 ON t1.id = t2.id | Junção externa esquerda |
RIGHT JOIN t2 ON t1.id = t2.id | Junção externa direita |
FULL OUTER JOIN t2 ON ... | Junção externa completa |
CROSS JOIN t2 | Produto cartesiano |
Funções de Agregação
| Função | Descrição |
|---|---|
COUNT(*) | Contar linhas |
SUM(col) | Soma |
AVG(col) | Média |
MIN(col) | Valor mínimo |
MAX(col) | Valor máximo |
GROUP BY col | Agrupar |
HAVING cond | Condição de grupo |
Índices
| SQL | Descrição |
|---|---|
CREATE INDEX idx ON t(col); | Criar índice |
CREATE UNIQUE INDEX idx ON t(col); | Índice único |
DROP INDEX idx; | Excluir índice |
\di / SHOW INDEX FROM t; | Listar índices |
Transações
| SQL | Descrição |
|---|---|
BEGIN; / START TRANSACTION; | Iniciar transação |
COMMIT; | Commit |
ROLLBACK; | Rollback |
SAVEPOINT name; | Criar savepoint |
ROLLBACK TO name; | Voltar ao savepoint |
Utilitários
| Comando | Descrição |
|---|---|
EXPLAIN query; | Exibir plano de execução |
EXPLAIN ANALYZE query; | Plano de execução e tempo |
VACUUM; | Recuperar espaço não utilizado (PostgreSQL) |
ANALYZE t; | Atualizar estatísticas |
\timing | Exibir tempo de execução (PostgreSQL) |