🔍 O que é SQL?
SQL (Structured Query Language) é a linguagem padrão utilizada para gerenciamento de bancos de dados relacionais como MySQL, PostgreSQL e SQL Server. Com SQL você pode:
- Criar bancos de dados e tabelas.
- Inserir, consultar, atualizar e deletar dados.
- Definir regras e estruturas para dados.
🆚 SQL vs MySQL
- SQL é a linguagem de consulta.
- MySQL é o sistema gerenciador que implementa essa linguagem.
🏛️ Conceitos-Chave
- Banco de Dados: Conjunto de dados organizados.
- Tabela: Estrutura com colunas e linhas.
- Coluna: Define o tipo e nome dos dados.
- Registro (linha): Conjunto de dados para uma entidade.
🛠 Principais Comandos
Criando Estruturas
CREATE DATABASE nome;
USE nome;
CREATE TABLE pessoa (nome VARCHAR(100), cpf CHAR(11));
Manipulando Dados (CRUD)
INSERT INTO pessoa (nome, cpf) VALUES ('Ana', '12345678901');
SELECT * FROM pessoa;
UPDATE pessoa SET nome = 'Maria' WHERE cpf = '12345678901';
DELETE FROM pessoa WHERE cpf = '12345678901';
Tipos de Dados
-
VARCHAR(n)
/CHAR(n)
-
INT
,FLOAT
,BIT
-
DATE
,DATETIME
,TIMESTAMP
⚙️ Filtros e Operadores
-
WHERE
,LIKE
,IN
,BETWEEN
-
AND
,OR
,NOT
-
ORDER BY
para ordenação -
LIMIT
para restringir resultados
📊 Funções Agregadas
-
COUNT()
,SUM()
,AVG()
SELECT COUNT(*) FROM pessoa;
SELECT AVG(salario) FROM funcionarios;
🧱 Constraints
-
NOT NULL
,UNIQUE
,PRIMARY KEY
,FOREIGN KEY
,AUTO_INCREMENT
🔗 JOINs (Junção de Tabelas)
SELECT f.nome, d.salario
FROM funcionario f
INNER JOIN departamento d ON f.id = d.id;
🧩 Subqueries e CASE
- Subqueries para consultas aninhadas
-
CASE
para condições:
SELECT nome,
CASE
WHEN salario > 3000 THEN 'Alto'
ELSE 'Baixo'
END AS status_salario
FROM funcionarios;
📚 GROUP BY e HAVING
-
GROUP BY
: Agrupa resultados -
HAVING
: Filtra grupos
SELECT cargo, COUNT(*) FROM funcionarios GROUP BY cargo HAVING COUNT(*) > 5;
🔄 UNION e UNION ALL
-
UNION
: Combina resultados distintos -
UNION ALL
: Combina inclusive duplicados
Top comments (0)