Mundos
Mundo Dados

O que é SQL: para que serve e quais são seus comandos

Carregando avaliações… — visitas
Resposta rápida

SQL é a linguagem usada para consultar e alterar dados em bancos de dados relacionais. Com ela, você pede ao banco que crie tabelas, grave registros, busque informações e controle quem pode acessar o quê. A sigla vem de Structured Query Language, ou linguagem estruturada de consulta.

Rápido: SQL é a linguagem que você escreve para conversar com um banco de dados relacional. Os comandos se dividem em grupos: DDL (estrutura), DML (alterar dados), DQL (consultar), DCL (permissões) e TCL (transações).

Ler artigo completo

Versão de demonstração: os dados deste texto ainda passam por revisão de fatos.

Neste artigo
  1. O que é SQL e para que serve
  2. SQL é linguagem de programação?
  3. Grupos de comandos: DDL, DML, DQL, DCL e TCL
  4. Linguagens procedurais: PL/SQL, PL/pgSQL e T-SQL
  5. Primeiros passos para praticar
  6. Erros comuns
  7. Próximo passo

O que é SQL e para que serve

SQL descreve o que você quer do banco, e o banco decide como entregar. Você escreve, por exemplo, "traga o nome dos alunos com nota acima de 7", e o sistema encontra as linhas certas.

Um banco relacional guarda dados em tabelas. Se esse conceito ainda é novo, leia antes o guia de banco de dados relacional. Para o conceito mais geral, o ponto de partida é o guia de banco de dados.

SQL e banco de dados andam juntos, mas não são a mesma coisa. O banco guarda os dados, o SGBD administra o banco e o SQL é a língua em que você faz o pedido. Quem usa um site de loja ou um aplicativo de banco não vê o SQL, mas o sistema o executa a cada busca e a cada cadastro.

O SQL serve para quatro tarefas principais:

  • criar e mudar a estrutura das tabelas;
  • gravar, corrigir e apagar registros;
  • consultar os dados com filtros e ordenação;
  • definir quem pode ler ou alterar cada tabela.

A origem do SQL está na IBM, onde Donald Chamberlin e Raymond Boyce desenvolveram a primeira versão, chamada SEQUEL. A linguagem virou padrão ANSI em 1986 e padrão ISO em 1987, e hoje o padrão leva o número ISO/IEC 9075, segundo a Wikipédia (artigo em inglês, conferido em 28 de outubro de 2026). Cada sistema gerenciador de banco de dados (SGBD) implementa o padrão à sua maneira, com extensões próprias.

SQL é linguagem de programação?

Depende do que você chama de programação. A explicação honesta tem duas partes.

Primeiro, o SQL é uma linguagem de consulta. A Wikipédia o descreve como uma linguagem específica de domínio, usada para gerenciar dados, e como essencialmente declarativa. Declarativa quer dizer que você descreve o resultado, não cada passo para chegar a ele.

Segundo, a programação com laços, condições e variáveis fica nas extensões do SQL. O manual do PostgreSQL diz que o PL/pgSQL adiciona estruturas de controle à linguagem SQL. A Wikipédia também registra que existem extensões procedurais ao SQL padrão.

Na conversa do dia a dia, as pessoas chamam SQL de linguagem de programação sem maiores problemas. Para estudar, vale a distinção: SQL puro pede dados, e as extensões permitem escrever lógica dentro do banco.

Na prática, isso afeta o seu aprendizado. Quem já programa em outra linguagem estranha o SQL no começo, porque ele não tem a sequência de passos a que está acostumado. Em vez de "percorra cada aluno e some as notas", você escreve o resultado que quer e deixa o banco escolher o caminho.

Grupos de comandos: DDL, DML, DQL, DCL e TCL

Os comandos SQL costumam ser organizados em grupos. A Wikipédia afirma que a divisão é informal e cita DQL, DDL, DCL e DML. O TCL, para transações, aparece em manuais e cursos, e o MySQL reúne esses comandos em "Transactional and Locking Statements". Como a divisão varia entre autores, trate-a como um mapa de estudo.

Os exemplos abaixo usam uma tabela alunos e a sintaxe padrão. Eles foram conferidos nos manuais do PostgreSQL, do MySQL e do SQLite; onde o dialeto muda, o texto avisa.

DDL: define a estrutura

DDL (Data Definition Language, linguagem de definição de dados) cria e altera tabelas. O principal comando é o CREATE TABLE.

CREATE TABLE alunos (
  id INTEGER PRIMARY KEY,
  nome VARCHAR(100),
  nota NUMERIC(4,2)
);

O SQLite descreve o CREATE TABLE como o comando para criar uma tabela nova. Outros comandos do grupo são ALTER TABLE, para mudar a tabela, e DROP TABLE, para removê-la. Atenção: no SQLite, o ALTER TABLE aceita só algumas variações, segundo a documentação oficial.

DML: altera os dados

DML (Data Manipulation Language, linguagem de manipulação de dados) grava, corrige e apaga registros.

INSERT INTO alunos (id, nome, nota) VALUES (1, 'Ana', 8.5);

UPDATE alunos SET nota = 9 WHERE id = 1;

DELETE FROM alunos WHERE id = 1;

O INSERT cria linhas novas, o UPDATE muda as existentes e o DELETE remove. O manual do PostgreSQL avisa que um DELETE sem condição apaga todas as linhas da tabela, sem pedir confirmação. Por isso, escreva sempre o WHERE.

DQL: consulta os dados

DQL (Data Query Language, linguagem de consulta de dados) tem um comando só na prática: o SELECT. Alguns autores o incluem no DML.

SELECT nome, nota FROM alunos WHERE nota >= 7 ORDER BY nome;

O manual do PostgreSQL divide o SELECT em lista de colunas, lista de tabelas e uma condição opcional. O WHERE filtra as linhas, e o ORDER BY define a ordem. Quando os dados estão em duas tabelas, o JOIN combina as linhas pelo valor da chave, como mostra o guia de banco relacional.

DCL: controla as permissões

DCL (Data Control Language, linguagem de controle de dados) define quem pode fazer o quê. Os comandos são GRANT, para conceder, e REVOKE, para retirar.

GRANT SELECT ON alunos TO leitura;

REVOKE SELECT ON alunos FROM leitura;

Esse exemplo segue o PostgreSQL, em que leitura é um papel (role) que precisa existir antes. No MySQL, o destino é uma conta no formato 'usuario'@'host', criada antes com CREATE USER. No SQLite, não há exemplo: a documentação oficial diz que GRANT e REVOKE não são implementados, porque seriam inúteis para um banco embutido na aplicação.

TCL: controla transações

TCL (Transaction Control Language, linguagem de controle de transações) agrupa comandos em uma operação de tudo ou nada. O manual do PostgreSQL explica que, se algo falha no meio da transação, nenhum passo altera o banco.

BEGIN;
UPDATE alunos SET nota = 7 WHERE id = 1;
ROLLBACK;

O ROLLBACK cancela o UPDATE. Para gravar, você troca o ROLLBACK por COMMIT. A sintaxe BEGIN funciona nos três bancos, segundo os manuais, e o MySQL também aceita START TRANSACTION. Atenção ao modo automático: o MySQL roda com autocommit ligado por padrão, e o SQLite inicia e encerra uma transação sozinho quando você não abre uma. Sem BEGIN, o ROLLBACK não desfaz o comando anterior.

Linguagens procedurais: PL/SQL, PL/pgSQL e T-SQL

Fabricantes de SGBD criaram extensões do SQL com laços, condições e variáveis. Essas extensões ficam dentro do banco e servem para funções, procedimentos e gatilhos (triggers).

  • PL/SQL: a Oracle a define como a extensão procedural do SQL do Oracle Database.
  • PL/pgSQL: é a linguagem procedural carregável do PostgreSQL, segundo o manual, usada para criar funções, procedimentos e gatilhos.
  • T-SQL (Transact-SQL): é a linguagem da Microsoft. A documentação diz que ferramentas e aplicações que falam com um banco SQL Server o fazem por comandos T-SQL.

Cada uma só roda no SGBD de origem. Um código em PL/SQL não funciona direto no PostgreSQL. Aprenda o SQL básico primeiro e deixe as extensões para quando tiver um banco específico em mente.

Primeiros passos para praticar

  1. Escolha um banco simples. O SQLite é um banco embutido na aplicação, segundo a documentação oficial. Para testar sem instalar nada, use um editor de SQLite online.
  2. Crie a tabela alunos com o CREATE TABLE da seção sobre DDL e insira três linhas com INSERT.
  3. Consulte com SELECT. Teste o WHERE, depois o ORDER BY.
  4. Altere e apague com cuidado. Rode um SELECT com a mesma condição antes de cada UPDATE ou DELETE.
  5. Use um cliente gráfico. O DBeaver é descrito no site oficial como uma ferramenta gratuita e de código aberto, na edição Community, para gerenciar bancos como MySQL, PostgreSQL e SQLite. Baixe sempre pelo site oficial.

Quando quiser um banco no computador, o PostgreSQL é uma boa opção de estudo, e o guia de instalação mostra o passo a passo. Qual banco escolher depende do seu objetivo.

Erros comuns

  • Rodar UPDATE ou DELETE sem WHERE e alterar a tabela inteira.
  • Copiar um comando de outro banco sem conferir o dialeto. O que funciona em T-SQL ou PL/SQL pode falhar no PostgreSQL ou no MySQL.
  • Achar que SQL e MySQL são a mesma coisa. SQL é a linguagem; MySQL é um dos sistemas que a entende.
  • Esperar um ROLLBACK depois de um COMMIT. Depois da gravação, o comando não desfaz.
  • Testar comandos de apagar direto em dados de verdade, sem cópia de segurança.

Próximo passo

SQL só faz sentido sobre tabelas bem organizadas. Se você pulou essa parte, a resposta sobre bancos relacionais explica chave primária, chave estrangeira e o exemplo de duas tabelas. Os demais guias do tema ficam na resposta do silo, e outros assuntos do MundoBla começam na resposta da página inicial.

Fonte: manuais oficiais do PostgreSQL, do MySQL, do SQLite, da Oracle e da Microsoft, e a Wikipédia para a história e a classificação dos comandos, listados em Fontes. Verificado em 28 de outubro de 2026.

Perguntas frequentes

O que é SQL?

SQL é a linguagem usada para consultar e alterar dados em bancos de dados relacionais. Com ela, você cria tabelas, insere registros, busca informações e controla quem pode acessar o quê. A sigla vem de Structured Query Language, em português, linguagem estruturada de consulta.

Para que serve o SQL?

O SQL serve para conversar com o banco de dados. Você usa comandos para criar tabelas, gravar dados, buscar o que precisa, corrigir registros e apagar o que não vale mais. Sites, aplicativos e sistemas de empresas usam SQL por baixo para guardar e recuperar informação.

SQL é um banco de dados?

Não. SQL é a linguagem, e o banco de dados é onde os dados ficam guardados. O programa que administra o banco é o SGBD, sistema gerenciador de banco de dados, como PostgreSQL, MySQL ou SQLite. Você escreve SQL, e o SGBD executa o pedido.

O que significa DDL, DML, DQL, DCL e TCL?

São grupos informais de comandos SQL. DDL define a estrutura, como CREATE. DML altera dados, como INSERT, UPDATE e DELETE. DQL consulta, com SELECT. DCL controla permissões, com GRANT e REVOKE. TCL controla transações, com COMMIT e ROLLBACK. A divisão varia entre autores e manuais.

O que é uma consulta (query) em SQL?

Consulta, ou query, é um pedido de dados escrito em SQL. A mais comum usa o comando SELECT, que informa quais colunas você quer, de qual tabela e com quais condições. O banco devolve só as linhas que atendem ao pedido, na ordem que você indicar.

Como aprender SQL do zero?

Comece por um banco simples, como o SQLite, e pratique os cinco comandos básicos: CREATE TABLE, INSERT, SELECT, UPDATE e DELETE. Use uma tabela pequena que você mesmo invente. Depois, aprenda filtros com WHERE, ordenação e a junção de tabelas com JOIN.

Como praticar SQL sem instalar nada?

Use um editor de SQLite no navegador, que roda o banco na própria página. Você cria tabelas e testa comandos sem instalar programa. A página sobre SQLite online reúne essa opção. Quando quiser um banco no computador, instale pelo site oficial do projeto.

Como escrever um SELECT?

O SELECT tem três partes: as colunas que você quer, a tabela de onde vêm e, se precisar, uma condição com WHERE. Exemplo: SELECT nome FROM alunos WHERE nota >= 7. O manual do PostgreSQL descreve essas partes como lista de seleção, lista de tabelas e qualificação.

Como não apagar todos os dados sem querer?

Escreva sempre o WHERE em UPDATE e DELETE. O manual do PostgreSQL avisa que DELETE sem condição remove todas as linhas da tabela, e o sistema não pede confirmação. Teste a condição antes com um SELECT e, se possível, faça isso dentro de uma transação.

Como desfazer um comando que errei?

Só dá para desfazer se o comando estiver dentro de uma transação aberta, com BEGIN ou START TRANSACTION. Nesse caso, ROLLBACK cancela as alterações. Depois de COMMIT, o resultado fica gravado. Por isso, faça cópia de segurança (backup) antes de mexer em dados importantes.

SQL é uma linguagem de programação?

Depende do critério. SQL é uma linguagem de consulta, em que você descreve o que quer, e não o passo a passo. Fontes a descrevem como essencialmente declarativa. Laços e condições fazem parte de extensões, como PL/pgSQL, PL/SQL e T-SQL.

Qual a diferença entre SQL e MySQL?

SQL é a linguagem. MySQL é um sistema gerenciador de banco de dados que entende SQL. A confusão vem do nome parecido. Outros SGBDs, como PostgreSQL e SQLite, também usam SQL, cada um com pequenas diferenças de sintaxe e recursos.

SQL e NoSQL são concorrentes?

São abordagens diferentes. SQL é a linguagem dos bancos relacionais, que usam tabelas. NoSQL reúne bancos com outros modelos, como documentos ou chave e valor. Um não substitui o outro: a escolha depende do formato dos dados e das consultas que você vai fazer.

O SQL é igual em todos os bancos?

Não é idêntico. Existe um padrão internacional, o ISO/IEC 9075, mas cada SGBD tem extensões e diferenças. O SQLite, por exemplo, não implementa GRANT e REVOKE, segundo a documentação oficial. Comandos básicos costumam funcionar em todos; confira o manual do seu banco.

Qual o risco de rodar SQL copiado da internet?

O risco é executar um comando que altera ou apaga dados que você não queria. Leia o que o código faz antes de rodar e teste em uma cópia do banco. Desconfie de comandos com DROP ou DELETE sem WHERE, que podem destruir tabelas ou todas as linhas.

Onde encontro a documentação oficial do SQL?

Cada SGBD publica o próprio manual: postgresql.org para o PostgreSQL, dev.mysql.com para o MySQL e sqlite.org para o SQLite. O padrão em si é o ISO/IEC 9075, mantido pela ISO e pela IEC. Para os comandos do dia a dia, o manual do seu banco é a fonte mais segura.

Preciso saber SQL para trabalhar com dados?

Costuma ajudar, mas depende da função. Vagas de análise de dados, desenvolvimento e administração de banco costumam pedir SQL; outras áreas não. Aprender o básico já permite consultar dados e ler relatórios com mais autonomia, sem depender de outra pessoa.

Referências

  • Wikipédia, SQL (padronização ANSI/ISO, sublinguagens e natureza declarativa). Disponível em: https://en.wikipedia.org/wiki/SQL.
  • PostgreSQL, documentação: Querying a Table (SELECT). Disponível em: https://www.postgresql.org/docs/current/tutorial-select.html.
  • PostgreSQL, documentação: INSERT. Disponível em: https://www.postgresql.org/docs/current/sql-insert.html.
  • PostgreSQL, documentação: Updates e Deletions. Disponível em: https://www.postgresql.org/docs/current/tutorial-update.html.
  • PostgreSQL, documentação: GRANT. Disponível em: https://www.postgresql.org/docs/current/sql-grant.html.
  • PostgreSQL, documentação: REVOKE. Disponível em: https://www.postgresql.org/docs/current/sql-revoke.html.
  • PostgreSQL, documentação: Transactions. Disponível em: https://www.postgresql.org/docs/current/tutorial-transactions.html.
  • PostgreSQL, documentação: PL/pgSQL Overview. Disponível em: https://www.postgresql.org/docs/current/plpgsql-overview.html.
  • MySQL 8.4 Reference Manual: SQL Statements. Disponível em: https://dev.mysql.com/doc/refman/8.4/en/sql-statements.html.
  • MySQL 8.4 Reference Manual: GRANT. Disponível em: https://dev.mysql.com/doc/refman/8.4/en/grant.html.
  • MySQL 8.4 Reference Manual: START TRANSACTION, COMMIT e ROLLBACK. Disponível em: https://dev.mysql.com/doc/refman/8.4/en/commit.html.
  • SQLite: SQL Features That SQLite Does Not Implement. Disponível em: https://www.sqlite.org/omitted.html.
  • SQLite: Transaction. Disponível em: https://www.sqlite.org/lang_transaction.html.
  • Oracle, PL/SQL: Overview. Disponível em: https://docs.oracle.com/en/database/oracle/oracle-database/23/lnpls/overview.html.
  • Microsoft Learn, Transact-SQL Reference. Disponível em: https://learn.microsoft.com/en-us/sql/t-sql/language-reference.
  • DBeaver, site oficial. Disponível em: https://dbeaver.io/.

Fontes conferidas em 28 de outubro de 2026.

Escrito por

Redação MundoBlá

Equipe editorial

Equipe que pesquisa, escreve e revisa os guias do MundoBlá. Todo conteúdo cita fontes oficiais e mostra a data da última conferência. Perfis de especialistas reais entram aqui só quando houver pessoa verificada.