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.
Diferença entre DDL e DML em SGBD
Diferença entre DDL e DML em SGBD

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:

Principais diferenças entre DDL e DML
DDL versus DML
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:

  • CRIAR
  • ALTERAR
  • GOTA
  • TRUNCAR
  • COMO
  • RENOMEAR

Os comandos comumente usados ​​na linguagem DML são:

  • INSIRA
  • ATUALIZAÇÃO
  • EXCLUIR
  • MERGE
  • CHAMADA
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.