DDL e DML: o que comem? onde vivem?
- #SQL
- #Banco de Dados
Olá, pessoal! Sei que o título parece estranho, mas quando eu estava começando com SQL, pensava exatamente assim!
O que é DDL? DML? Estamos inventando siglas e palavras agora?!
Recentemente, um amigo meu passou por uma entrevista técnica e foi solicitado a explicar o que sabia sobre DDL e DML. Quando ele me contou, percebi que essa era uma excelente oportunidade para estudar mais sobre o assunto, pois, apesar de usar SQL com frequência no trabalho, eu também teria dificuldade em responder com precisão. E isso é curioso, não é? Muitas vezes usamos uma tecnologia diariamente, mas não conhecemos sua teoria por completo.
Bom, vamos lá, chega de segredos:
SQL (Structured Query Language) é uma linguagem usada para manipulação de banco de dados, presente em sistemas como PostgreSQL, MySQL, SQLServer e Oracle Database. Com SQL, podemos realizar várias operações, como criar bancos de dados, inserir ou alterar registros e recuperar informações. Para isso, usamos diferentes comandos, como os famosos SELECT, INSERT e DELETE. Para facilitar o nosso entendimento nas diferentes operações que podem ser realizadas em um banco de dados, os comandos são agrupados conforme suas funções:
- DML (Data Manipulation Language): Reúne comandos que permite adicionar, editar e excluir dados, como INSERT, UPDATE e DELETE. Eles nos ajudam a gerenciar linhas em tabelas SQL.
- DDL (Data Definition Language): Inclui comandos que definem a estrutura dos dados em um banco, como CREATE TABLE, ALTER TABLE e DROP TABLE. Com eles, podemos criar, modificar e excluir tabelas.
- DCL (Data Control Language): Responsável pelo controle do banco de dados, principalmente relacionado a permissões de usuários, com comandos como GRANT, REVOKE E DENY.
- DQL (Data Query Language): Abrange os comandos de leitura e consulta de dados, como o SELECT.
No nosso dia a dia, como desenvolvedores ou analistas, diferente dos DBAs (Database Administrators), geralmente usamos mais os comandos de DDL, DML, e, claro, o SELECT do DQL. Curiosamente, muitos consideram o SELECT como parte do DML também. Às vezes, me pergunto se essa classificação realmente ajuda ou complica hahaha Mas, no final das contas, acho que sim, ela facilita a compreensão no geral. Mesmo que não lembremos dos nomes dos grupos, sempre lembramos das suas funções.
O que você acha?
Abraços!