Guias

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 DELETE ou um UPDATE sem cláusula WHERE afeta 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)

idnameemailcity
1Lena Ortizlena@example.comLisbon
2Sam Patelsam@example.comLeeds

orders (encomendas)

idcustomer_idtotalplaced_at
101142.002026-09-20
102218.502026-09-22
103125.002026-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

ComandoO que faz
SELECTLer dados
INSERTAcrescentar linhas novas
UPDATEAlterar linhas existentes
DELETERemover linhas
CREATE TABLE / ALTER TABLECriar ou alterar a estrutura de uma tabela
WHEREFiltrar quais as linhas afetadas
JOINCombinar tabelas relacionadas
GROUP BYResumir linhas em grupos, com COUNT, SUM, AVG
ORDER BY / LIMITOrdenar 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

TermoSignificado
Consulta (query)Uma instrução SQL, sobretudo uma que lê dados.
Tabela / linha / colunaUm tipo de coisa / um registo / um atributo.
Chave primáriaA coluna que identifica de forma única cada linha, normalmente id.
Chave estrangeiraUma coluna que aponta para uma linha noutra tabela, como customer_id.
ÍndiceUma estrutura de pesquisa que torna a procura numa coluna muito mais rápida.
Esquema (schema)A estrutura de todas as tabelas e colunas.
TransaçãoUm grupo de alterações que ou correm todas com sucesso ou falham juntas.
Injeção de SQLUm 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.

Mythex · Pricing · Crie qualquer coisa com IA · Modelos de sites e apps · Mythex comparado · Glossário de criação de apps com IA · Ferramentas grátis para criar apps com IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)