SQL Básico

Nesta seção, você aprenderá os comandos fundamentais do SQL para criar e manipular bancos de dados. Vamos começar com os conceitos essenciais!

CREATE TABLE

O comando CREATE TABLE é usado para criar uma nova tabela no banco de dados. Uma tabela é como uma planilha, com colunas (campos) e linhas (registros).

CREATE TABLE Alunos (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(100),
    idade INT,
    curso_id INT
);
Explicação: PRIMARY KEY define a chave primária (identificador único) da tabela, e AUTO_INCREMENT faz com que o valor seja gerado automaticamente para cada novo registro.

ALTER TABLE

O comando ALTER TABLE é usado para modificar uma tabela já existente. Você pode adicionar, remover ou alterar colunas.

ALTER TABLE Alunos 
ADD email VARCHAR(150);
Explicação: Nesse exemplo, estamos adicionando uma nova coluna chamada email. Também podemos usar DROP COLUMN para excluir colunas ou MODIFY para alterar o tipo de dados.

DROP TABLE

O comando DROP TABLE é usado para excluir uma tabela do banco de dados. Atenção: todos os dados dentro dela serão perdidos!

DROP TABLE Alunos;

TRUNCATE

O comando TRUNCATE remove todos os registros de uma tabela, mas mantém sua estrutura (colunas e restrições). É como "esvaziar" a tabela.

TRUNCATE TABLE Alunos;
Cuidado: Diferente do DELETE, o TRUNCATE não pode ser revertido com facilidade e geralmente é mais rápido para limpar a tabela.

Relacionando Tabelas (FOREIGN KEY)

Em bancos de dados relacionais, tabelas podem estar ligadas entre si. Isso é feito com chaves estrangeiras (FOREIGN KEY).

No exemplo abaixo, cada aluno está relacionado a um curso. Criamos uma tabela Cursos e usamos curso_id como chave estrangeira na tabela Alunos.

CREATE TABLE Cursos (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(100)
);

CREATE TABLE Alunos (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(100),
    idade INT,
    curso_id INT,
    FOREIGN KEY (curso_id) REFERENCES Cursos(id)
);
Explicação: A chave estrangeira garante que um aluno só pode ser associado a um curso existente. Isso mantém a integridade dos dados.

INSERT INTO

O comando INSERT INTO é usado para inserir novos registros em uma tabela. Você precisa especificar os valores para cada coluna.

INSERT INTO Alunos (nome, idade, curso_id) 
VALUES 
('Ana', 19, 1),
('João', 22, 2),
('Maria', 20, 1);
Dica: A ordem dos valores deve corresponder à ordem das colunas especificadas. Você pode inserir múltiplos registros de uma vez separando-os por vírgulas.

SELECT

O comando SELECT é usado para consultar dados de um banco de dados. É o comando mais frequente em SQL.

SELECT * FROM Alunos;

O asterisco (*) significa "todas as colunas". Para selecionar colunas específicas:

SELECT nome, idade FROM Alunos;

WHERE

A cláusula WHERE é usada para filtrar registros com base em condições específicas. Imagine isso como um filtro em uma planilha.

SELECT * FROM Alunos 
WHERE idade > 20;

Operadores comuns usados com WHERE:

UPDATE

O comando UPDATE é usado para modificar registros existentes em uma tabela.

UPDATE Alunos 
SET idade = 21 
WHERE nome = 'Ana';
Cuidado crítico: Sempre use WHERE com UPDATE! Se você esquecer o WHERE, todos os registros da tabela serão atualizados, o que pode causar grandes problemas.

DELETE

O comando DELETE é usado para excluir registros de uma tabela.

DELETE FROM Alunos 
WHERE id = 3;
Cuidado crítico: Assim como com UPDATE, sempre use WHERE com DELETE! Caso contrário, você excluirá todos os registros da tabela.