O que é SQL? A linguagem das bases de dados explicada de forma simples
SQL (Structured Query Language, dito «ésse-quê-éle» ou «sequel») é a linguagem padrão para trabalhar com bases de dados relacionais — as que guardam dados em tabelas de linhas e colunas, como o Postgres, o MySQL, o SQLite e o SQL Server. Usas SQL para fazer perguntas aos teus dados («que clientes fizeram reservas este mês?») e para acrescentar, alterar ou remover registos. Existe desde os anos 70, é uma norma internacional e alimenta uma grande parte das apps do mundo.
Porque é que o SQL importa quando crias com IA
Quando pedes a um criador de apps com IA que «guarde encomendas» ou que «mostre uma lista de reservas futuras», alguma coisa tem de falar com a base de dados — e na maioria das apps isso é SQL, escrito diretamente ou gerado por um ORM.
Não precisas de escrever SQL tu próprio, mas um pouco de compreensão compensa:
- Podes verificar os teus próprios dados. Uma consulta curta responde a «quantos registos tivemos esta semana?» mais depressa do que construir um ecrã novo.
- Podes pedir relatórios melhores. «Agrupa a receita por mês e por serviço» é uma ideia de SQL. Saber isso torna o teu pedido mais claro.
- Podes detetar alterações perigosas. Um
DELETEou umUPDATEsem cláusulaWHEREafeta todas as linhas. Vale a pena apanhá-lo antes de correr. - Os teus dados não ficam presos. O SQL é uma norma partilhada, por isso os dados numa base de dados SQL podem ser movidos e lidos por muitas ferramentas.
Uma analogia do dia a dia
Pensa numa biblioteca muito bem organizada com um bibliotecário que só fala uma linguagem precisa e simples.
Não andas tu pelas estantes. Entregas ao bibliotecário um cartão: «Encontra todos os livros deste autor, publicados depois de 2010, do mais recente para o mais antigo.» O bibliotecário conhece o edifício de cor e devolve exatamente esses livros, nessa ordem.
O SQL é a linguagem desse cartão. Dizes o que queres, não como o encontrar — a base de dados descobre sozinha o caminho mais rápido.
Como funciona o SQL: tabelas, linhas e colunas
Uma base de dados relacional guarda os dados em tabelas. Cada tabela guarda um tipo de coisa, cada linha é um registo e cada coluna é uma peça de informação:
customers (clientes)
| id | name | city | |
|---|---|---|---|
| 1 | Lena Ortiz | lena@example.com | Lisbon |
| 2 | Sam Patel | sam@example.com | Leeds |
orders (encomendas)
| id | customer_id | total | placed_at |
|---|---|---|---|
| 101 | 1 | 42.00 | 2026-09-20 |
| 102 | 2 | 18.50 | 2026-09-22 |
| 103 | 1 | 25.00 | 2026-09-27 |
A coluna customer_id liga cada encomenda a um cliente. Essa ligação é o que torna a base de dados «relacional».
Um exemplo prático: responder a perguntas reais
1. Ler dados — «mostra-me todos os clientes de Lisboa»:
SELECT name, email
FROM customers
WHERE city = 'Lisbon';
2. Ordenar e limitar — «as cinco encomendas mais recentes»:
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Combinar tabelas — «cada encomenda com o nome do cliente»:
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Resumir — «total gasto por cliente»:
SELECT c.name, SUM(o.total) AS total_spent
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY total_spent DESC;
Com os dados de exemplo, isto devolve Lena Ortiz com 67.00 e Sam Patel com 18.50.
5. Alterar dados:
INSERT INTO customers (name, email, city)
VALUES ('Ana Silva', 'ana@example.com', 'Porto');
UPDATE customers SET city = 'Porto' WHERE id = 1;
DELETE FROM orders WHERE id = 102;
Estes correspondem às quatro ações básicas de quase todas as apps — criar, ler, atualizar e apagar, conhecidas como CRUD.
Um aviso: UPDATE customers SET city = 'Porto'; sem cláusula WHERE altera todos os clientes. Verifica sempre o WHERE antes de correr uma alteração.
As principais partes do SQL
| Comando | O que faz |
|---|---|
SELECT | Ler dados |
INSERT | Acrescentar linhas novas |
UPDATE | Alterar linhas existentes |
DELETE | Remover linhas |
CREATE TABLE / ALTER TABLE | Criar ou alterar a estrutura de uma tabela |
WHERE | Filtrar quais as linhas afetadas |
JOIN | Combinar tabelas relacionadas |
GROUP BY | Resumir linhas em grupos, com COUNT, SUM, AVG |
ORDER BY / LIMIT | Ordenar e limitar os resultados |
O SQL é normalizado, mas cada base de dados acrescenta extras, chamados dialeto. O Postgres, o MySQL e o SQLite percebem todos os exemplos acima, enquanto detalhes como as funções de data diferem um pouco.
Termos-chave
| Termo | Significado |
|---|---|
| Consulta (query) | Uma instrução SQL, sobretudo uma que lê dados. |
| Tabela / linha / coluna | Um tipo de coisa / um registo / um atributo. |
| Chave primária | A coluna que identifica de forma única cada linha, normalmente id. |
| Chave estrangeira | Uma coluna que aponta para uma linha noutra tabela, como customer_id. |
| Índice | Uma estrutura de pesquisa que torna a procura numa coluna muito mais rápida. |
| Esquema (schema) | A estrutura de todas as tabelas e colunas. |
| Transação | Um grupo de alterações que ou correm todas com sucesso ou falham juntas. |
| Injeção de SQL | Um ataque em que o input do utilizador é metido numa consulta às escondidas. Evita-se com consultas parametrizadas. |
Ideias erradas comuns
- «O SQL é uma base de dados.» O SQL é a linguagem; o Postgres, o MySQL e o SQLite são bases de dados que a falam.
- «O SQL é antigo, logo está ultrapassado.» É maduro, não obsoleto. As bases de dados modernas e as ferramentas de dados continuam a usá-lo, e as novas muitas vezes acrescentam suporte a SQL.
- «Só os programadores podem usar SQL.» Analistas, profissionais de marketing e fundadores usam consultas simples todos os dias.
- «O SQL não consegue lidar com dados flexíveis.» Muitas bases SQL também guardam JSON. O Postgres, por exemplo, tem o tipo
jsonb. Vê SQL vs NoSQL. - «Deixar a IA correr qualquer SQL em produção é seguro.» As leituras são de baixo risco; as alterações e os apagamentos em dados reais merecem uma cópia de segurança e uma segunda verificação. Vê como fazer uma cópia de segurança da base de dados da tua app.
O que pedir ao teu criador de apps com IA
- «Mostra-me as tabelas da minha base de dados e o que significa cada coluna.»
- «Escreve uma consulta só de leitura: quantos novos registos por dia nos últimos 30 dias?»
- «Antes de correr qualquer UPDATE ou DELETE, mostra-me a consulta e quantas linhas vai afetar.»
- «Acrescenta índices nas colunas que mais filtramos e ordenamos.»
- «Garante que cada consulta que usa input do utilizador é parametrizada.»
- «Envolve as atualizações de encomendas e de pagamentos numa transação, para não poderem ficar meio feitas.»
SQL na Mythex
Quando a tua app precisa de guardar dados, a Mythex acrescenta ao projeto uma base de dados Postgres dedicada — pede no chat, por exemplo «guarda os emails da lista de espera numa base de dados», ou usa o comando /database (Base de dados). O agente cria as tabelas e escreve as consultas, e podes pedir-lhe, no modo Ask, que explique qualquer consulta em linguagem simples. Para saber mais sobre a própria base de dados, lê o que é o Postgres.
Perguntas
O que é SQL, em termos simples?
SQL (Structured Query Language, ou linguagem de consulta estruturada) é a linguagem padrão para trabalhar com bases de dados relacionais. Usa-a para fazer perguntas aos teus dados, como «que encomendas foram feitas esta semana», e para acrescentar, alterar ou apagar registos.
Como se pronuncia SQL?
Tanto «ésse-quê-éle» (soletrando as letras) como «sequel» são comuns e corretos. A linguagem foi originalmente chamada SEQUEL, e daí vem a segunda pronúncia.
O SQL é uma linguagem de programação?
SQL é uma linguagem de consulta concebida para gerir dados. Descreves o resultado que queres e a base de dados descobre como o obter. Não serve para construir apps inteiras sozinha, mas faz parte de quase todas as apps que usam uma base de dados relacional.
O SQL é difícil de aprender?
As bases são acessíveis: SELECT, WHERE, ORDER BY, INSERT, UPDATE e DELETE cobrem a maioria das necessidades do dia a dia e lêem-se quase como inglês. Os joins, o agrupamento e a otimização de desempenho demoram mais a dominar.
Preciso de saber SQL para criar uma app com IA?
Não. Um criador com IA escreve o código SQL ou da base de dados por ti. Saber um pouco ajuda-te a verificar os teus dados, a pedir relatórios e a detetar alterações arriscadas antes de acontecerem.