Introdução

SQL (Structured Query Language, ou Linguagem de Consulta Estruturada) é a principal linguagem utilizada para manipulação, consulta e administração de bancos de dados relacionais.

Características da Linguagem SQL

  • Linguagem declarativa: você descreve o que deseja obter dos dados, e não como obter.
  • Sintaxe simples e próxima da linguagem natural, facilitando o aprendizado e uso.
  • Padronizada por órgãos como ANSI e ISO, garantindo compatibilidade entre diferentes sistemas de gerenciamento de banco de dados (SGBDs).
  • Permite manipulação de dados (inserção, atualização, exclusão) e definição de estruturas (criação de tabelas, índices, permissões).
  • Suporte a transações, garantindo integridade e confiabilidade dos dados

No SQL, os comandos são organizados em subconjuntos conforme sua finalidade. Em baixo, as principais diferenças e funções de cada um:

SiglaNome (em inglês)Nome (em português)Finalidade PrincipalExemplos de Comandos
DDLData Definition LanguageLinguagem de Definição de DadosDefine e gere a estrutura do banco de dados (tabelas, colunas, índices, etc.)CREATE, ALTER, DROP, TRUNCATE, RENAME
DMLData Manipulation LanguageLinguagem de Manipulação de DadosManipula os dados dentro das tabelas (inserir, atualizar, excluir registros)INSERT, UPDATE, DELETE
DQLData Query LanguageLinguagem de Consulta de DadosConsulta dados armazenados na base de dados, sem alterar seu conteúdoSELECT
DCLData Control LanguageLinguagem de Controle de DadosControla permissões e segurança de acesso à base de dadosGRANT, REVOKE, DENY
TCL/DTLTransaction Control Language / Data Transaction LanguageLinguagem de Controle de Transações / Linguagem de Transação de DadosGere transações, garantindo integridade e consistência das operaçõesBEGIN, COMMIT, ROLLBACK, SAVEPOINT

SQL Standard

A linguagem SQL é considerada um padrão (standard) para bases de dados relacionais, tendo sido padronizada inicialmente pelo ANSI em 1986 e posteriormente pela ISO689. Isso significa que existe uma base comum de comandos e funcionalidades que todos os principais Sistemas de Gestão de Bases de Dados (SGBDs) procuram seguir, como SELECT, INSERT, UPDATE e DELETE.

No entanto, apesar dessa padronização, cada SGBD (como Oracle, MySQL, SQL Server, PostgreSQL) costuma implementar extensões e funcionalidades próprias, criando pequenas variações conhecidas como “dialetos” do SQL4. Essas diferenças podem incluir comandos adicionais, tipos de dados exclusivos ou variações na sintaxe, o que pode afetar a portabilidade de scripts entre diferentes sistemas.

Portanto, SQL é sim uma linguagem padrão e comum a todos os SGBDs relacionais, mas com particularidades e extensões específicas em cada sistema. Para tarefas básicas e intermediárias, o SQL padrão costuma ser suficiente para garantir compatibilidade, mas para recursos avançados ou específicos, pode ser necessário adaptar o código ao SGBD utilizado.

Neste site usamos a versão standard do SQL.