DEV Community

Cover image for Guia Rápido: Fundamentos Essenciais do SQL
Kauê Matos
Kauê Matos

Posted on • Edited on

Guia Rápido: Fundamentos Essenciais do SQL

🔍 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));
Enter fullscreen mode Exit fullscreen mode

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';
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

🧱 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;
Enter fullscreen mode Exit fullscreen mode

🧩 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;
Enter fullscreen mode Exit fullscreen mode

📚 GROUP BY e HAVING

  • GROUP BY: Agrupa resultados
  • HAVING: Filtra grupos
SELECT cargo, COUNT(*) FROM funcionarios GROUP BY cargo HAVING COUNT(*) > 5;
Enter fullscreen mode Exit fullscreen mode

🔄 UNION e UNION ALL

  • UNION: Combina resultados distintos
  • UNION ALL: Combina inclusive duplicados

Top comments (0)