Comandos SQL: DQL, DDL, DML, DCL e TCL com exemplos
โก Resumo Inteligente
Os comandos SQL sรฃo agrupados em cinco sublinguagens que gerenciam um banco de dados relacional. DDL define a estrutura, DML altera os dados, DCL controla o acesso, TCL gerencia as transaรงรตes e DQL recupera os dados, cada uma com seu prรณprio conjunto de instruรงรตes e sintaxe.

O que รฉ SQL?
SQL รฉ uma linguagem de banco de dados projetada para recuperaรงรฃo e gerenciamento de dados em um banco de dados relacional.
SQL รฉ a linguagem padrรฃo para gerenciamento de banco de dados. Todos os sistemas RDBMS como MySQL, Acesso MS, OracleSybase, Postgres e SQL Server usam SQL como linguagem de banco de dados padrรฃo. A linguagem de programaรงรฃo SQL utiliza diversos comandos para diferentes operaรงรตes. Aprenderemos sobre os comandos DCL, TCL, DQL, DDL e DML em SQL com exemplos.
Por que usar SQL?
Aqui estรฃo alguns motivos importantes para usar SQL:
- Isso ajuda os usuรกrios a acessar dados no Sistema RDBMS.
- Isso ajuda vocรช a descrever os dados.
- Ele permite definir os dados em um banco de dados e manipular esses dados especรญficos.
- Com a ajuda de comandos SQL, vocรช pode criar e excluir bancos de dados e tabelas.
- O SQL permite usar funรงรตes em um banco de dados, alรฉm de criar visualizaรงรตes e procedimentos armazenados.
- Vocรช pode definir permissรตes em tabelas, procedimentos e visualizaรงรตes.
Breve Histรณria do SQL
Aqui estรฃo alguns pontos de referรชncia importantes do histรณria do SQL:
- 1970 โ Dr. Edgar F. โTedโ Codd descreveu um modelo relacional para bancos de dados.
- 1974 โ Surgiu a Linguagem de Consulta Estruturada (SQL), originalmente chamada SEQUEL. IBM.
- 1979 - Oracle lanรงou o primeiro banco de dados comercialmente disponรญvel baseado em SQL, baseado em IBMProtรณtipo de pesquisa do Sistema R de 's.
- 1986 โ A ANSI publicou o primeiro padrรฃo SQL, o SQL-86.
- 1989 โ O SQL-89 surgiu como a primeira revisรฃo do padrรฃo.
- 1992 โ O SQL-92 (SQL2) tornou-se a principal base de referรชncia, ainda utilizada pela maioria dos bancos de dados atualmente.
- 1999 โ SQL:1999 (SQL3) foi lanรงado com recursos como gatilhos (triggers), consultas recursivas e orientaรงรฃo a objetos.
- 2003 โ SQL:2003 adicionou funรงรตes de janela, geradores de sequรชncia e recursos relacionados a XML.
- 2006 โ SQL:2006 adicionou suporte ร Linguagem de Consulta XML (XQuery).
- 2008 โ O SQL Server 2008 introduziu a instruรงรฃo TRUNCATE e os gatilhos INSTEAD OF.
- 2011 โ SQL:2011 melhorou o suporte para bancos de dados temporais.
- 2016 โ SQL:2016 adicionou suporte a JSON e correspondรชncia de padrรตes de linha (MATCH_RECOGNIZE).
- 2019 โ O padrรฃo SQL/MDA (Parte 15) adicionou suporte a matrizes multidimensionais.
- 2023 โ SQL:2023 adicionou um tipo de dados JSON nativo e consultas de grafo de propriedades (SQL/PGQ).
- 2024 โ GQL, a primeira nova linguagem de banco de dados ISO desde o SQL, foi publicada como um padrรฃo complementar para consultas em grafos.
- 2026 โ O SQL:2023 permanece como o padrรฃo atual, com a prรณxima revisรฃo em desenvolvimento pela ISO/IEC.
Tipos de comandos SQL
Aqui estรฃo cinco tipos de comandos SQL amplamente utilizados:
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
- Data Control Language (DCL)
- Linguagem de controle de transaรงรตes (TCL)
- Linguagem de consulta de dados (DQL)

A tabela abaixo resume as cinco categorias antes de cada uma ser abordada em detalhes.
| Categoria | Propรณsito | Comandos principais |
|---|---|---|
| DDL | Defina a estrutura. | CRIAR, SOLTAR, ALTERAR, TRUNCAR |
| DML | Modificar dados | INSERIR, ATUALIZAR, EXCLUIR |
| DCL | Controle de acesso | CONCEDER, REVOGAR |
| TCL | Gerenciar transaรงรตes | CONFIRMAR, REVERTER, PONTO DE SALVAMENTO |
| DQL | Recuperar dados | SELECIONE |
O que รฉ DDL?
A Linguagem de Definiรงรฃo de Dados (DDL) ajuda vocรช a definir a estrutura ou o esquema do banco de dados. Vamos aprender sobre os comandos DDL e sua sintaxe. Os principais comandos DDL em SQL sรฃo CREATE, DROP, ALTER e TRUNCATE.
CRIAR
A instruรงรฃo CREATE รฉ usada para definir a estrutura ou o esquema do banco de dados:
Sintaxe:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Por exemplo:
Create database university; Create table students; Create view for_students;
GOTA
O comando DROP remove tabelas e bancos de dados do SGBD relacional.
Sintaxe:
DROP TABLE ;
Por exemplo:
Drop object_type object_name; Drop database university; Drop table student;
ALTERAR
O comando ALTER permite alterar a estrutura do banco de dados.
Sintaxe: Para adicionar uma nova coluna ร tabela:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Para modificar uma coluna existente na tabela:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Por exemplo:
Alter table guru99 add subject varchar;
TRUNCAR
Este comando รฉ usado para deletar todas as linhas da tabela e liberar o espaรงo que contรฉm a tabela.
Sintaxe:
TRUNCATE TABLE table_name;
Exemplo:
TRUNCATE table students;
O que รฉ linguagem de manipulaรงรฃo de dados?
A Linguagem de Manipulaรงรฃo de Dados (DML) permite modificar a instรขncia do banco de dados inserindo, modificando e excluindo dados. Ela รฉ responsรกvel por realizar todos os tipos de modificaรงรฃo de dados em um banco de dados. Os comandos DML importantes em SQL sรฃo:
- INSIRA
- ATUALIZAรรO
- EXCLUIR
INSIRA
Esta instruรงรฃo รฉ usada para inserir dados nas linhas de uma tabela.
Sintaxe:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Por exemplo:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
ATUALIZAรรO
Este comando รฉ usado para atualizar ou modificar o valor de uma coluna da tabela.
Sintaxe:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Por exemplo:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
EXCLUIR
Este comando รฉ usado para remover uma ou mais linhas de uma tabela.
Sintaxe:
DELETE FROM table_name [WHERE condition];
Por exemplo:
DELETE FROM students WHERE FirstName = 'Jhon';
O que รฉ DCL?
A DCL (Linguagem de Controle de Dados) inclui comandos como GRANT e REVOKE, que sรฃo รบteis para conceder direitos e permissรตes. Outros comandos controlam parรขmetros do sistema de banco de dados.
Conceda
Este comando รฉ usado para conceder privilรฉgios de acesso a um usuรกrio em um banco de dados.
Sintaxe:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Por exemplo:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revok
Este comando รฉ รบtil para revogar as permissรตes do usuรกrio.
Sintaxe:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Por exemplo:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
O que รฉ TCL?
A Linguagem de Controle de Transaรงรตes, ou comandos TCL, lida com a transaรงรฃo dentro do banco de dados. Eles trabalham diretamente com os estados descritos em gerenciamento de transaรงรตes.
COMPROMETA-SE
Este comando รฉ usado para salvar todas as transaรงรตes no banco de dados.
Sintaxe:
Commit;
Por exemplo:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Rollback
O comando Rollback permite desfazer transaรงรตes que ainda nรฃo foram salvas no banco de dados.
Sintaxe:
ROLLBACK;
Exemplo:
DELETE FROM Students WHERE RollNo =25;
SALVAR PONTO
Este comando ajuda vocรช a definir um ponto de salvamento dentro de uma transaรงรฃo.
Sintaxe:
SAVEPOINT SAVEPOINT_NAME;
Exemplo:
SAVEPOINT RollNo;
O que รฉ DQL?
A Linguagem de Consulta de Dados (DQL) รฉ usada para buscar dados do banco de dados. Ela utiliza apenas um comando, SELECT.
SELECIONE
Este comando ajuda vocรช a selecionar os atributos com base na condiรงรฃo descrita pela clรกusula WHERE.
Sintaxe:
SELECT expressions FROM TABLES WHERE conditions;
Por exemplo:
SELECT FirstName FROM Student WHERE RollNo > 15;
DELETE vs TRUNCATE vs DROP
Esses trรชs comandos removem dados, mas diferem no que removem e na possibilidade de reverter a aรงรฃo. Confundi-los รฉ um erro comum entre iniciantes.
| Aspecto | EXCLUIR | TRUNCAR | GOTA |
|---|---|---|---|
| Categoria | DML | DDL | DDL |
| Remove | Linhas selecionadas | Todas as linhas | A mesa inteira |
| Clรกusula WHERE | Permitido | Nรฃo permitido | Nรฃo aplicรกvel |
| Rollback | Possiveis | Normalmente nรฃo | Nรฃo รฉ possivel |
| A estrutura foi mantida. | Sim | Sim | Nรฃo |
Resumindo, use DELETE para remover linhas especรญficas, TRUNCATE para esvaziar uma tabela rapidamente e DROP para descartar a tabela completamente.
