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.

  • ???? DOF: CREATE, DROP, ALTER e TRUNCATE definem e alteram o esquema de tabelas e bancos de dados.
  • โœ๏ธ DML: INSERT, UPDATE e DELETE modificam as linhas contidas em uma tabela.
  • ๐Ÿ”‘ DCL: GRANT e REVOKE concedem e removem privilรฉgios de acesso a objetos do banco de dados.
  • ๐Ÿ”„ TCL: COMMIT, ROLLBACK e SAVEPOINT controlam como as transaรงรตes sรฃo salvas ou desfeitas.
  • ๐Ÿ” DQL: A funรงรฃo SELECT recupera linhas filtradas pela clรกusula WHERE.
  • ๐Ÿ—„๏ธ Idioma padrรฃo: Todos os principais SGBDs relacionais, desde MySQL para Oracle E o SQL Server usa SQL.
  • โš ๏ธ Contraste fundamental: TRUNCATE e DELETE apagam linhas, mas TRUNCATE รฉ um comando DDL e nรฃo opera linha por linha.

Comandos SQL DQL DDL DML DCL TCL

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)
Tipos de comandos SQL
Tipos de SQL

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.

Perguntas Frequentes

DELETE รฉ um comando DML que remove linhas selecionadas e pode ser revertido. TRUNCATE รฉ um comando DDL que remove todas as linhas de uma sรณ vez, รฉ mais rรกpido e geralmente nรฃo pode ser revertido.

Eles pertencem ร  Linguagem de Controle de Dados, ou DCL. O comando GRANT concede privilรฉgios a um usuรกrio sobre um objeto do banco de dados, e o comando REVOKE revoga esses privilรฉgios, que juntos controlam o acesso e a seguranรงa.

Sim. Os modelos de conversรฃo de texto em SQL transformam uma solicitaรงรฃo em linguagem natural em uma instruรงรฃo SELECT ou outra instruรงรฃo semelhante, utilizando um esquema conhecido. Sempre revise a consulta gerada antes de executรก-la em dados de produรงรฃo.

Sim. Ao analisar o plano de execuรงรฃo, a IA pode sugerir um รญndice, uma junรงรฃo reescrita ou uma alteraรงรฃo na clรกusula WHERE que reduza o custo. A sugestรฃo deve ser testada, pois o plano mais rรกpido depende dos dados.

A DDL define ou altera a estrutura do banco de dados, como tabelas e colunas. A DML altera os dados contidos nessa estrutura, por meio de INSERT, UPDATE e DELETE. A principal diferenรงa reside na distinรงรฃo entre estrutura e conteรบdo.

Resuma esta postagem com: