Diferença entre DDL e DML em SGBD
Principais diferenças entre DDL e DML
- A linguagem de definição de dados (DDL) ajuda a definir a estrutura ou esquema do banco de dados, enquanto a linguagem de manipulação de dados (comando DML) permite gerenciar os dados armazenados no banco de dados.
- O comando DDL é usado para criar o esquema do banco de dados, enquanto o comando DML é usado para preencher e manipular o banco de dados
- Comparando DDL versus DML, as instruções DDL afetam toda a tabela, enquanto os comandos DML afetam apenas uma ou mais linhas.
- Em DDL, a instrução SQL não pode ser revertida, enquanto em DML, a instrução SQL pode ser revertida.
- DDL é um método declarativo, enquanto DML é um método imperativo.
- Comandos DDL importantes são: 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE, etc., enquanto comandos DML importantes são: 1) INSERT, 2) UPDATE, 3) DELETE, 4) MERGE, etc.

Aqui, analisei a diferença entre DDL e DML e avaliarei de forma abrangente seus prós e contras.
O que é DDL?
A linguagem de definição de dados ajuda você a definir a estrutura ou esquema do banco de dados. Os comandos DDL ajudam você a criar a estrutura do banco de dados e de outros objetos do banco de dados. Seus comandos são confirmados automaticamente para que as alterações sejam salvas no banco de dados permanentemente. A forma completa de DDL é Data Definition Language.
Comandos DDL
Cinco tipos de comandos DDL são:
CRIAR
As instruções CREATE são usadas para definir o esquema da estrutura 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
Os comandos Drops removem tabelas e bancos de dados de RDBMS.
Sintaxe:
DROP TABLE ;
Por exemplo:
Drop object_type object_name; Drop database university; Drop table student;
ALTERAR
O comando Alters permite alterar a estrutura do banco de dados.
Sintaxe:
Para adicionar uma nova coluna na 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;
Exemplo de comando DDL
CRIAR
Sintaxe:
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
Aqui,
- O parâmetro tableName denota o nome da tabela que você irá criar.
- Os parâmetros coluna_1, coluna_2… denotam as colunas a serem adicionadas à tabela.
- Uma coluna deve ser especificada como NULL ou NOT NULL. Se você não especificar, SQL Server tomará NULL como padrão
Exemplo:
CREATE TABLE Students ( Student_ID Int, Student_Name Varchar(10) )
ALTERAR
Sintaxe:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Exemplo:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
GOTA
Sintaxe:
DROP TABLE <tableName>;
O parâmetro tableName é o nome da tabela que será excluída.
Exemplo:
DROP TABLE COURSE_NAMES;
Por que usamos comandos DDL?
Aqui, explicarei porque preferimos o método DDL:
- Permite armazenar dados compartilhados
- A independência de dados melhorou a integridade
- Permite vários usuários
- Acesso a dados eficiente e com segurança aprimorada
O que é DML?
O DML comanda-o para permitir que você gerencie os dados armazenados no banco de dados, embora os comandos DML não sejam confirmados automaticamente. Além disso, eles não são permanentes. Assim, é possível reverter a operação. A forma completa de DML é Linguagem de Manipulação de Dados.
Comandos DML
Gostaria de destacar alguns comandos DML importantes:
- INSIRA
- ATUALIZAÇÃO
- EXCLUIR
INSIRA
Esta é uma instrução que é uma consulta SQL. Este comando é usado para inserir dados na linha 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';
Exemplo de comando DML
INSIRA
In PL/SQL, podemos inserir os dados em qualquer tabela usando o SQL comando INSERIR EM. Este comando pegará o nome da tabela, a coluna da tabela e os valores da coluna como entrada e inserirá o valor na tabela base.
O comando INSERT também pode obter os valores diretamente de outra tabela usando a instrução 'SELECT' em vez de fornecer os valores para cada coluna. Através da instrução 'SELECT', podemos inserir quantas linhas a tabela base contém.
Sintaxe:
BEGIN INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>) VALUES(<valuel><value2>,...:<value_n>); END;
A sintaxe acima mostra o comando INSERT INTO. O nome e os valores da tabela são campos obrigatórios, enquanto os nomes das colunas não são obrigatórios se as instruções de inserção tiverem valores para todas as colunas da tabela.
A palavra-chave 'VALUES' é obrigatória se os valores forem fornecidos separadamente, conforme mostrado acima.
Sintaxe:
BEGIN INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>) SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>; END;
A sintaxe acima mostra o comando INSERT INTO que obtém os valores diretamente do usando o comando SELECIONAR.
A palavra-chave 'VALUES' não deve estar presente neste caso, pois os valores não são fornecidos separadamente.
EXCLUIR
Abaixo está a sintaxe para excluir a tabela
Sintaxe:
DROP TABLE <TableName>;
O parâmetro TableName é o nome da tabela que será excluída.
Exemplo:
DROP TABLE COURSE_NAMES;
SELECIONE
Para visualizar dados no SQL Server, usamos a instrução SELECT.
Sintaxe:
SELECT expression FROM tableName [WHERE condition];
Exemplo:
SELECT * FROM Course;
Por que usamos comandos DML?
Aqui estão, com base em nossa experiência coletiva, os benefícios do DML:
- As instruções DML permitem modificar os dados armazenados em um banco de dados.
- Os usuários podem especificar quais dados são necessários.
- DML oferece muitos sabores e recursos diferentes entre fornecedores de banco de dados.
- Oferece uma interação humana eficiente com o sistema.
Diferença entre DDL e DML em SGBD
Deixe-me explicar a principal diferença entre os comandos DDL e DML em DBMS:
Base de comparação | DDL | DML |
---|---|---|
Basico | A linguagem de definição de dados (DDL) ajuda a definir a estrutura ou esquema do banco de dados. | A Linguagem de Manipulação de Dados (comando DML) permite gerenciar os dados armazenados no banco de dados. |
Use | O comando DDL é usado para criar o esquema do banco de dados. | O comando DML é usado para preencher e manipular o banco de dados |
Categorização | DDL não é mais classificado. | DML é classificado como DMLs processuais e não processuais. |
Usos de comando |
Os comandos comumente usados na linguagem DDL são:
|
Os comandos comumente usados na linguagem DML são:
|
Define | Ele define a coluna da tabela. | Adiciona ou atualiza a linha da tabela |
Efeito | As instruções DDL afetam toda a tabela. | DML afeta uma ou mais linhas. |
Rollback | Instrução SQL não pode ser revertida | Instrução SQL pode ser uma reversão |
Como escolher entre um DDL e um DML
Observamos que enquanto DDL é usado para definir a estrutura do banco de dados, DML trata dos dados contidos nele, cada um servindo a funções críticas.