O SQL (Structured Query Language) é a base dos bancos de dados relacionais. Ele permite criar, consultar, atualizar e gerenciar informações de forma estruturada. Este artigo apresenta os principais comandos SQL, com explicações e exemplos práticos que ajudam a compreender o funcionamento real da linguagem.
O comando CREATE DATABASE cria um novo banco de dados. Já o comando USE seleciona o banco em que os próximos comandos serão executados. É o primeiro passo de qualquer projeto SQL.
CREATE DATABASE Escola;
USE Escola;
Após criar o banco, todos os objetos (tabelas, procedures, etc.) serão armazenados dentro dele.
O comando CREATE TABLE define a estrutura de armazenamento de dados. Cada tabela representa uma entidade do sistema, composta por colunas com tipos de dados específicos.
CREATE TABLE Alunos (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100),
idade INT,
curso VARCHAR(50)
);
No exemplo acima, cada aluno terá um identificador único (id), um nome, idade e curso. O tipo VARCHAR representa texto, e INT números inteiros.
Serve para inserir novos registros em uma tabela. Pode-se adicionar um ou mais registros de uma vez.
INSERT INTO Alunos (nome, idade, curso)
VALUES ('Marcos Silva', 22, 'Agronomia');
Os valores são adicionados nas colunas indicadas. Sempre mantenha a correspondência entre os campos e os valores passados.
O comando SELECT é o mais utilizado no SQL. Ele consulta dados existentes nas tabelas e pode ser personalizado para exibir apenas o que for necessário.
SELECT * FROM Alunos;
SELECT nome, curso FROM Alunos;
O símbolo * retorna todas as colunas. É boa prática especificar apenas as colunas realmente necessárias, tornando a consulta mais eficiente.
O WHERE é usado para filtrar resultados com base em condições lógicas. Ele restringe os dados retornados ou modificados.
SELECT * FROM Alunos WHERE idade > 20;
Também é possível combinar condições com operadores como AND, OR e LIKE para buscas mais específicas.
Atualiza informações existentes em uma tabela. É fundamental usar a cláusula WHERE para evitar que todos os registros sejam alterados acidentalmente.
UPDATE Alunos
SET curso = 'Engenharia Agrícola'
WHERE id = 1;
O comando acima altera o curso apenas do aluno com ID 1. Sem o WHERE, todos os cursos seriam substituídos.
Remove registros da tabela. Assim como o UPDATE, deve sempre vir acompanhado de um WHERE para evitar exclusões totais.
DELETE FROM Alunos WHERE id = 1;
Esse comando apaga apenas o aluno com o identificador informado. Para excluir todos os dados, utilize DELETE FROM Alunos;.
Organiza o resultado de uma consulta de forma crescente (ASC) ou decrescente (DESC). É útil para exibir listas classificadas.
SELECT * FROM Alunos ORDER BY nome ASC;
Também é possível ordenar por mais de uma coluna, como ORDER BY curso, idade DESC.
Restringe o número de resultados retornados. Ideal para consultas de amostra, relatórios ou exibição parcial de dados.
SELECT * FROM Alunos LIMIT 3;
Em sistemas com grandes volumes de dados, o uso de LIMIT é essencial para melhorar a performance das consultas.
Relaciona dados de duas ou mais tabelas. É a base da modelagem relacional, permitindo cruzar informações de entidades diferentes.
CREATE TABLE Cursos (
id INT AUTO_INCREMENT PRIMARY KEY,
nome_curso VARCHAR(50),
carga_horaria INT
);
SELECT Alunos.nome, Cursos.nome_curso
FROM Alunos
INNER JOIN Cursos ON Alunos.curso = Cursos.nome_curso;
O INNER JOIN exibe apenas os registros que têm correspondência nas duas tabelas. Outras variações incluem LEFT JOIN e RIGHT JOIN.
O SQL é uma linguagem universal para manipulação de dados. Dominar seus comandos básicos é o primeiro passo para avançar em áreas como análise de dados, desenvolvimento de sistemas e administração de bancos. Experimente cada comando apresentado e combine-os para criar consultas mais poderosas e úteis no seu dia a dia profissional.
Conteúdo elaborado com o auxílio do ChatGPT e revisado para garantir clareza e precisão técnica. O objetivo é oferecer uma introdução sólida e prática ao SQL, facilitando o aprendizado de iniciantes e reforçando a base de quem já atua com dados.