Skip to content

Instantly share code, notes, and snippets.

@FP-Coding
Last active November 23, 2022 17:06
Show Gist options
  • Save FP-Coding/3a1fe8f6329e4f29262a552e2ca5a85f to your computer and use it in GitHub Desktop.
Save FP-Coding/3a1fe8f6329e4f29262a552e2ca5a85f to your computer and use it in GitHub Desktop.
Cheatsheet - SQL
* - significa nome de todas colunas;
; - Não esquecer do ponto e vírgula
- Query padrão - SELECT
SELECT (coluna_nome) FROM nome_database.nome_tabela;
- Query do valor de uma operação ou valor fixo
SELECT valor AS nome_coluna, valor2 AS nome_coluna_2;
- Query com CONCAT
SELECT CONCAT(nome_coluna1, nome_coluna2) [optional: AS new_name] FROM nome_database.nome_tabela;
- Query DISTINCT
SELECT COUNT(DISTINCT nome_coluna) FROM nome_database.nome_tabela;
- Query com LIMIT E OFFSET
SELECT * FROM nome_database.nome_tabela LIMIT quantidade_limitação OFFSET quantidade_para_pular_e_depois_aplicar_a_limitação;
- Query com ORDER BY
SELECT * FROM nome_coluna
ORDER BY nome_coluna [ASC(Default) ou DESC];
- Operadores Lógicos:
AND - Operador E
OR - Operador Ou
NOT - Negação
IS - Compara valores booleanos (TRUE, FALSE, NULL, NOT)
- Operadores booleanos e relacionais
= igual
> Maior que
< Menor que
>= Maior ou Igual
<= Menor ou igual
<> Diferente de
- Ordem aplicação Filtros
Parênteses => Multiplicação, Divisão => Subtração, Adição => NOT => AND => OR
- Filtro Operadores
SELECT * FROM nome_database.nome_tabela
WHERE condition [AND, OR, NOT - ];
- Filtro Usando LIKE
SELECT * FROM nome_database.nome_tabela
WHERE nome_coluna LIKE '%don';
Termina com 'don'
SELECT * FROM nome_database.nome_tabela
WHERE nome_coluna LIKE 'don%';
Começa com 'don'
SELECT * FROM nome_database.nome_tabela
WHERE nome_coluna LIKE '%don%';
Tem 'don' em alguma parte do texto
SELECT * FROM nome_database.nome_tabela
WHERE nome_coluna LIKE '_don%';
Começa com um caracter + 'don'
o ' _ ' significa um caracter
- Filtro com IN
SELECT * FROM nome_database.nome_tabela
WHERE first_name = valor1
OR first_name = valor2
OR first_name = valor3
OR first_name = valor4;
ou
SELECT * FROM nome_database.nome_tabela
WHERE first_name IN (valor1, valor2, valor3, valor4);
- Filtro com BETWEEN
SELECT length FROM nome_database.nome_tabela
WHERE length BETWEEN 50 AND 120;
Segundo valor do BETWEEN funciona como um Break
- Trabalhando com Datas
Formato data YYYY-MM-DD HH:MM:SS
-- Teste cada um dos comandos a seguir:
SELECT DATE(nome_coluna) FROM nome_database.nome_tabela; -- YYYY-MM-DD
SELECT YEAR(nome_coluna) FROM nome_database.nome_tabela; -- Ano
SELECT MONTH(nome_coluna) FROM nome_database.nome_tabela; -- Mês
SELECT DAY(nome_coluna) FROM nome_database.nome_tabela; -- Dia
SELECT HOUR(nome_coluna) FROM nome_database.nome_tabela; -- Hora
SELECT MINUTE(nome_coluna) FROM nome_database.nome_tabela; -- Minuto
SELECT SECOND(nome_coluna) FROM nome_database.nome_tabela; -- Segundo
-- MANIPULANDO DADOS
- Inserindo Dados
INSERT INTO nome_da_tabela (coluna1, coluna2)
VALUES ('valor_coluna1', 'valor_coluna2');
INSERT INTO nome_da_tabela (coluna1, coluna2) VALUES
('valor1_coluna_1','valor2_coluna_2'),
('valor3_coluna1','valor4_coluna_2');
- Ignorando Linhas Existentes
INSERT IGNORE INTO nome_da_tabela (coluna1, coluna2) VALUES
('valor1_coluna_1','valor2_coluna_2'),
('valor3_coluna1','valor4_coluna_2');
- Atualizando Dados
UPDATE nome_da_tabela
SET propriedade_a_ser_alterada = 'novo valor para coluna'
WHERE alguma_condicao;
-- O WHERE é obrigatório. Por conta que, sem ele, todas as linhas da tabela que satisfaçam a condição vão sofrer a alteração.
Link: https://imageproxy.ifunny.co/crop:x-20,resize:640x,quality:90x75/images/0d0ca938217e51cc02529e512df4de1129c469c78f78c6855dc05d064381bfb2_1.jpg
- Deletando Dados
DELETE FROM nome_database.nome_tabela
WHERE coluna = 'valor';
-- O WHERE é obrigatório. Por conta que, sem ele, todas as linhas da tabela seriam excluídas.
- Apagar todos os dados da tabela
TRUNCATE nome_database.nome_tabela
@FP-Coding
Copy link
Author

CheatSheet de SQL

@FP-Coding
Copy link
Author

Adicionando a parte sobre UPDATE, DELETE E INSERT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment