Comandos SQL
Tags: database, sql, programming, learning
Published: 2023-09-04 22:39:36

Vocês já ouviram falar no SQL? Neste artigo, embarcaremos em uma jornada pelo cenário da linguagem de manipulação e definição de dados, explorando as distinções entre DDL, DML, DTL, DCL e DQL.

**Sobre o SQL**

A Linguagem de Consulta Estruturada, conhecida pela sigla SQL (_Structured Query Language_), é a linguagem empregada nos Sistemas Gerenciadores de Bancos de Dados (SGBD). Ela foi criada por Donald Chamberlin e Raymond Boyce, após Edgar Frank Codd ter desenvolvido a ideia do banco de dados enquanto estava na IBM. Inicialmente, a intenção era batizar a linguagem como SEQUEL, porém, devido a um impasse relacionado aos direitos desse nome, foi necessário optar por SQL. 

Essa linguagem desempenha um papel crucial na consulta, manipulação e gerenciamento de dados em sistemas de bancos de dados relacionais, sendo amplamente adotada na indústria de tecnologia da informação.

Apesar de ser uma linguagem só, o SQL é dividido em 5 categorias:

- DDL (_Data Definition Language_)
- DML (_Data Manipulation Language_)
- DTL (_Data Transaction Language_)
- DCL (_Data Control Language_)
- DQL (_Data Query Language_)

**DDL - Data Definition Language** 

Em português, Linguagem de Definição de Dados. É utilizada para definir e gerenciar a estrutura e os elementos que compõem um banco de dados. Em outras palavras, é responsável por criar, alterar e excluir objetos no banco de dados, como tabelas, índices, visões e restrições.

Os comandos DDL são:

- CREATE: cria banco de dados, tabelas, procedures etc.
- ALTER: altera os objetos criados pelo comando CREATE
- DROP: apaga o que foi criado pelo comando CREATE

**DML - Data Manipulation Language**

Em português, Linguagem de Manipulação de Dados. É utilizada para realizar operações que envolvem a inserção, atualização e exclusão de dados em um banco de dados. 

É essencial para a manipulação ativa dos dados, permitindo a execução de tarefas dinâmicas e manutenção das informações atualizadas e relevantes, de acordo com as necessidades do sistema e dos usuários.

Os comandos DML são:

- INSERT: insere dados em uma tabela
- UPDATE: altera um registro já existente em uma tabela
- DELETE: exclui o registro da tabela

**DCL - Data Control Language**

Em português, Linguagem de Controle de Dados. São comandos utilizados para definir quais usuários ou papéis têm permissões para acessar, modificar ou realizar operações específicas nos objetos do banco de dados, como tabelas, visões e procedimentos armazenados.

Desempenha um papel fundamental na proteção dos dados e no controle de quem pode fazer o quê dentro do ambiente do banco de dados.

Exemplos de comandos DCL:

- GRANT: concede acesso ao banco de dados para o usuário
- REVOKE: retira acesso ao banco de dados do usuário

**DTL - Data Transaction Language**

Em português, Linguagem de Transação de Dados. São os comandos que se concentram na gestão de transações em um banco de dados. As transações referem-se a sequências de operações de banco de dados que são executadas como uma única unidade lógica.

Exemplos de comandos DTL:

- BEGIN TRANSACTION: inicia uma transação
- ROLLBACK: reverte/desfaz uma transação
- COMMIT: confirma a transação

**DQL - Data Query Language**

Em português, Linguagem de Consulta de Dados. Desempenha um papel fundamental em permitir a análise de dados, a geração de relatórios e a obtenção de informações úteis a partir de grandes conjuntos de dados. Ao utilizar a DQL, os usuários podem explorar e examinar os dados armazenados no banco de dados de maneira eficiente e estruturada, facilitando a tomada de decisões informadas com base nas informações recuperadas.

O comando SELECT com todas as suas cláusulas, JOIN, WHERE, AND, OR, GROUP BY, ORDER BY, HAVING, LIKE, é o exemplo de DQL.

Nos próximos artigos falaremos sobre a sintaxe do DDL, DML e DQL.