O que são DDL e DML?

345

Ouvi os termos DDL e DML em referência a bancos de dados, mas não entendo o que são.

O que são e como eles se relacionam com o SQL?

Sachindra
fonte

Respostas:

280

O comando SQL pode ser dividido em três subgrupos, DDL, DML e DCL

Mais informações, veja aqui: MySQL O que são DDL, DML e DCL? , o original é o seguinte:

DDL

DDL é o nome abreviado da Data Definition Language, que lida com esquemas e descrições de banco de dados, de como os dados devem residir no banco de dados.

  • CREATE - para criar banco de dados e seus objetos como (tabela, índice, visualizações, procedimento de armazenamento, função e gatilhos)
  • ALTER - altera a estrutura do banco de dados existente
  • DROP - exclui objetos do banco de dados
  • TRUNCATE - remove todos os registros de uma tabela, incluindo todos os espaços alocados para os registros.
  • COMENTÁRIO - adicione comentários ao dicionário de dados
  • RENAME - renomeie um objeto

DML

DML é um nome abreviado da Data Manipulation Language que lida com a manipulação de dados e inclui as instruções SQL mais comuns, como SELECT, INSERT, UPDATE, DELETE, etc., e é usado para armazenar, modificar, recuperar, excluir e atualizar dados no banco de dados.

  • SELECT - recupera dados do banco de dados
  • INSERT - insere dados em uma tabela
  • UPDATE - atualiza os dados existentes em uma tabela
  • DELETE - Excluir todos os registros de uma tabela de banco de dados
  • MERGE - operação UPSERT (inserir ou atualizar)
  • LIGUE - chame um subprograma PL / SQL ou Java
  • EXPLICAR PLANO - interpretação do caminho de acesso a dados
  • TABELA DE BLOQUEIO - Controle de simultaneidade

DCL

DCL é o nome abreviado da Data Control Language, que inclui comandos como GRANT e, principalmente, relacionados a direitos, permissões e outros controles do sistema de banco de dados.

  • GRANT - permite que os usuários acessem privilégios no banco de dados
  • REVOKE - retira os privilégios de acesso dos usuários dados usando o comando GRANT

TCL

TCL é um nome abreviado de Transaction Control Language que lida com transações dentro de um banco de dados.

  • COMMIT - confirma uma transação
  • ROLLBACK - reverter uma transação em caso de erro
  • SAVEPOINT - para reverter os pontos de criação de transação dentro dos grupos
  • SET TRANSACTION - especifique características para a transação
Terry
fonte
2
você pode querer expandir você responder um pouco em qualquer caso futuro que apontam se tornaria indisponível
svarog
2
Às vezes, você também verá comandos como SELECT / SHOW / EXPLAIN / HELP separados do DML e agrupados em DQL, com o Q do Query - porque eles realmente não manipulam nada.
okdewit
11
TRUNCATE deve ser DML
Pete Alvin
@PeteAlvin de jeito nenhum.
snr 11/03
335

DDL é a linguagem de definição de dados : é usada para definir estruturas de dados .

Por exemplo, com SQL, seria instruções como create table, alter table...


DML é uma linguagem de manipulação de dados : é usada para manipular os próprios dados .

Por exemplo, com SQL, seria instruções tais como insert, update, delete, ...

Pascal MARTIN
fonte
6
DESCRIBE é DDL ou DML?
precisa saber é o seguinte
2
@TomJMuthirenthi Acho que não DESCRIBEse encaixa em nenhum dos dois. Ele apenas retorna sua própria representação de como uma Tabela / DB está estruturada. Você pode conseguir a mesma coisa com, por exemplo CREATE, mas não como "legível"
JensV
Se SELECT for considerado DML, DESCRIBE deverá ser considerado DDL.
Shloim 29/08/19
40

DDL é uma linguagem de definição de dados: notação de especificação para definir o esquema do banco de dados. Funciona no nível do esquema.

Os comandos DDL são:

create,drop,alter,rename

Por exemplo:

create table account (
  account-number  char(10),
 balance integer);

DML é uma linguagem de manipulação de dados . É usada para acessar e manipular os dados.

Os comandos DML são:

select,insert,delete,update,call

Por exemplo :

update account set balance = 1000 where account_number = 01;
Raju
fonte
11
@isapir Existem três maneiras gerais de "manipular" dados no SQL: (1) Você pode alterar quais resultados são apresentados. (2) Você pode alterar a forma como os resultados são apresentados ou organizados (em termos de ordem de classificação, etc.). (3) Você pode alterar os dados subjacentes. No primeiro caso, você pode alterar quais resultados são apresentados usando diferentes cláusulas WHERE, predicados JOIN, etc., em uma instrução SELECT, ou seja, "selecione * da conta"; dará um resultado muito diferente (supondo que a conta tenha mais de 1 linha) do que selecione * da conta em que o saldo = 1000;
Raju
11
Ao selecionar os dados em diferentes formatos, você modifica a apresentação dos dados para essa consulta, e não os dados em si. OM no DML significa Manipulation, ou em termos leigos, Modification, dos dados. SELECTnão modifica os dados. Como alternativa, TRUNCATEfaz e é, portanto, uma instrução DML e NÃO uma instrução DDL.
Isapir
31

insira a descrição da imagem aqui

DDL, linguagem de definição de dados

  • Crie e modifique a estrutura do objeto de banco de dados em um banco de dados.
  • Esses objetos de banco de dados podem ter a tabela, exibição, esquema, índices .... etc

por exemplo:

  • CREATE, ALTER, DROP, TRUNCATE, COMMIT, Etc.

DML, Linguagem de Manipulação de Dados

A instrução DML é afetada na tabela. Portanto, essas são as operações básicas que realizamos em uma tabela.

  • A operação básica de crud é realizada na tabela.
  • Estes operação bruta são executar pelo SELECT, INSERT, UPDATE, etc.

Os comandos abaixo são usados ​​no DML:

  • INSERT, UPDATE, SELECT, DELETE, Etc.
JegsVala
fonte
14

Em termos leigos, suponha que você queira construir uma casa, o que você faz.

DDL ou seja, idioma de definição de dados

  1. Construa a partir do zero
  2. Renove-o
  3. Destrua o mais antigo e recrie-o do zero

isso é

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML ou seja, idioma de manipulação de dados

As pessoas vêm / vão para dentro / da sua casa

  1. SELECT
  2. DELETE
  3. UPDATE
  4. TRUNCATE

DCL ou seja, idioma de controle de dados

Você deseja controlar as pessoas a que parte da casa elas têm permissão e tipo de acesso.

  1. GRANT PERMISSION
Satish Patel
fonte
11

DML é a abreviação de Data Manipulation Language . É usado para recuperar, armazenar, modificar, excluir, inserir e atualizar dados no banco de dados.

Exemplos: Instruções SELECT, UPDATE, INSERT


DDL é a abreviação de Data Definition Language . É usado para criar e modificar a estrutura dos objetos de banco de dados no banco de dados.

Exemplos: Instruções CREATE, ALTER, DROP

Visite este site para obter mais informações: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/

Uc.IT_samuel
fonte
3

DDL é a linguagem de definição de dados: pense que você está definindo o banco de dados. Então, usamos os comandos CREATE, ALTER TRUNCATE.
Depois de definir o DML, estamos manipulando os dados. Então, usamos o comando SELECT, INSERT, UPDATE, DELETE.

Lembre-se de que os comandos DDL são confirmados automaticamente. Você não precisa usar instruções COMMIT.
Os comandos DML (Data Manipulation Language) precisam ser confirmados / revertidos.

Chinmoy
fonte
2

DDL = Data Definition Language, qualquer comando que forneça estrutura e outras informações sobre seus dados

DML = Data Manipulation Language, existem apenas 3 deles, INSERT, UPDATE, DELETE. 4, se você vai contar SELECT * INTO x_tbl from tblde MSSQL (ANSI SQL: CREATE TABLE x_tbl AS SELECT * FROM tbl)

Michael Buen
fonte
2

Em palavras simples.

DDL (linguagem de definição de dados): funcionará na estrutura dos dados. definir as estruturas de dados.

DML (linguagem de manipulação de dados): funcionará nos dados. manipula os próprios dados

Sakib
fonte
2

DD L: altere o esquema

DML : alterar os dados

Parece específico às limitações do MySQL ( código fonte do rails )

Dorian
fonte
2

DDL

Criar, Alterar, Soltar (Bancos de dados, Tabelas, Chaves, Índice, Visualizações, Funções, Procedimentos armazenados)

DML

Inserir, Excluir, Atualizar, Truncar de (Tabelas)

rajender kumar
fonte
1

DDL significa Data Definition Language. DDL é usado para definir a estrutura da tabela, como criar uma tabela ou adicionar uma coluna à tabela e até soltar e truncar a tabela. DML significa Linguagem de manipulação de dados. Como o nome sugere, o DML usado para manipular os dados da tabela. Existem alguns comandos no DML, como inserir e excluir.

Rishish
fonte