Diferença entre DDL e DML

Em um Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS), a enorme quantidade de dados é armazenada em tabelas. Essas tabelas são a coleção de dados relacionados, onde os dados são armazenados em linhas e colunas. Essa maneira de armazenamento de dados torna eficiente o uso quando surgir o requisito. É muito importante acessar os dados dessas tabelas para usar nos requisitos de negócios e também quando houver a necessidade de modificar os dados existentes contidos no banco de dados. Para recuperar ou manipular os dados, precisamos da SQL (Structured Query Language). O SQL vem com comandos padrão para interagir com o RDBMS. A DDL (Data Definition Language) é usada para definir um esquema do banco de dados e a DML (Data Manipulation Language) é usada para manipular os dados que já existem no banco de dados. Neste tópico, vamos aprender sobre DDL vs DM. Neste tópico, vamos aprender sobre DDL vs DML.

Comparação cara a cara entre DDL e DML (infográficos)

Abaixo estão as principais diferenças entre DDL e DML

Principais diferenças entre DDL e DML

As principais diferenças entre DDL e DML, conforme abaixo:

  • Uma das diferenças importantes entre DDL e DML é que a DDL (Data Definition Language) define o esquema do Banco de Dados, enquanto a DML (Data Manipulation Language) é usada para modificar o esquema do Banco de Dados.
  • Os comandos DDL são CREATE, ALTER, DROP, TRUNCATE etc., enquanto os comandos DML são INSERT, UPDATE, DELETE, SELECT etc.
  • Instruções DDL operam em toda a tabela, enquanto as instruções DML operam em linhas.
  • As instruções DDL não possuem uma cláusula WHERE para filtrar os dados, enquanto as instruções DML usam a cláusula WHERE para filtrar os dados.
  • As instruções DDL são executadas em suas transações e, portanto, são confirmadas instantaneamente, pois as alterações feitas por cada uma dessas instruções são permanentes. Mas, como as instruções DML operam modificando os dados dos objetos de banco de dados, essas instruções são executadas de acordo com as regras da transação.
  • Ao usar as instruções DDL, as alterações feitas por elas não podem ser revertidas. Portanto, não precisamos executar o comando COMMIT ou ROLLBACK, enquanto nas instruções DML, os comandos COMMIT e ROLLBACK devem ser executados para confirmar as alterações.

Tabela de comparação DDL vs DML

Vamos discutir as 6 principais diferenças entre DDL e DML

DDL (linguagem de definição de dados)DML (Linguagem de Manipulação de Dados)
A linguagem de definição de dados é usada para definir o esquema de um banco de dados. Ele lida com a forma como os dados são armazenados no banco de dados.A linguagem de manipulação de dados é usada para manipular, ou seja, recuperar, atualizar e excluir os dados em um banco de dados.
Os comandos DDL usados ​​no SQL são CREATE, DROP, ALTER, TRUNCATE etc.Os comandos DML usados ​​no SQL são INSERT, UPDATE, DELETE, SELECT etc.
O comando CREATE é usado para criar uma tabela ou exibição de uma tabela. Também pode ser usado para criar outros objetos do banco de dados, como índice, procedimento armazenado, gatilhos, etc.

A sintaxe para criar uma tabela é a seguinte:

CREATE TABLE nome_tabela (

COLUMN_1 tipo de dados PRIMARY KEY,

Tipo de dados COLUMN_2,

Tipo de dados COLUMN_3,

……

);

O comando INSERT é usado para inserir os dados na tabela.

A sintaxe para inserir dados em uma tabela é a seguinte:

INSERT INTO nome_tabela (coluna_1, coluna_2, … coluna_N) VALUES (valor1, valor2… valorN);

O comando ALTER é usado para modificar a estrutura da tabela existente ou os objetos de banco de dados.

A sintaxe para usar o comando ALTER é a seguinte:

ALTER TABLE nome_tabela renomeia para nome_tabela_novo;

O comando UPDATE é usado para atualizar os dados existentes na tabela.

A sintaxe para usar o comando UPDATE é a seguinte:

UPDATE nome_tabela SET coluna1 = valor1, coluna2 = valor2, … colunaN = valorN WHERE (condição);

O comando DROP é usado para excluir uma tabela ou a exibição da tabela ou outros objetos de banco de dados. O comando DROP removerá os dados e a definição da tabela. Portanto, este comando deve ser usado com cuidado.

A sintaxe para descartar um banco de dados é a seguinte:

DROP DATABASE database_name;

A sintaxe para descartar uma tabela é a seguinte:

DROP TABLE nome_tabela;

O comando DELETE é usado para excluir os registros da tabela.

A sintaxe para usar o comando DELETE é a seguinte:

DELETE FROM nome_tabela;

Na sintaxe acima, todas as linhas da tabela serão excluídas, mas a estrutura da tabela permanecerá. Mas se usarmos o comando DELETE junto com uma cláusula WHERE, somente os registros específicos de acordo com a cláusula WHERE serão excluídos. A sintaxe do comando DELETE junto com uma cláusula WHERE é a seguinte:

DELETE FROM nome_tabela WHERE (condição);

O comando TRUNCATE é usado para remover os dados de uma tabela, mas a estrutura da tabela permanece intacta. Portanto, com este comando, os dados são excluídos apenas, não a tabela.

A sintaxe do comando TRUNCATE é a seguinte:

TRUNCATE TABLE nome_tabela;

O comando SELECT é usado para recuperar dados das tabelas no banco de dados.

A sintaxe para usar o comando SELECT é a seguinte:

SELECT coluna1, coluna2… colunaN FROM nome_tabela;

A instrução acima seleciona as colunas especificadas na instrução de seleção. Mas quando queremos selecionar todas as colunas de uma tabela, precisamos usar "*" na instrução select.

A sintaxe para selecionar todas as colunas de uma tabela é a seguinte:

SELECT * FROM nome_tabela;

Conclusão

O SQL fornece a flexibilidade de definir o esquema e modificá-lo de acordo com o requisito em um banco de dados usando a Linguagem de Definição de Dados e a Linguagem de Manipulação de Dados. Com o uso de instruções DDL simples, fica mais fácil para o desenvolvedor definir o esquema do banco de dados, a estrutura da tabela para grandes quantidades de dados. Também com o uso das instruções DML, podemos manipular os dados, por exemplo, recuperar os dados, modificar os dados existentes, etc. sempre que necessário. Há alguns pontos importantes a serem observados ao trabalhar com os vários comandos DDL e DML. O desenvolvedor ou designer de software precisa obter um entendimento completo do funcionamento de várias operações DDL e DML, pois desempenham um papel vital na construção de um banco de dados eficiente, conforme exigido pelos negócios.

Artigos recomendados

Este é um guia para DDL Vs DML. Aqui discutimos o DDL vs DML com as respectivas diferenças principais, infográficos e tabela de comparação em detalhes. Você também pode consultar os seguintes artigos para saber mais -

  1. Hive vs HUE: As 6 melhores comparações úteis para aprender
  2. WebLogic vs JBoss
  3. SQL Server vs PostgreSQL
  4. PL SQL vs SQL