¿Qué son DDL y DML?

345

He escuchado los términos DDL y DML en referencia a las bases de datos, pero no entiendo cuáles son.

¿Qué son y cómo se relacionan con SQL?

Sachindra
fuente

Respuestas:

280

El comando SQL se puede dividir en tres subgrupos, DDL, DML y DCL

Más información ver aquí: MySQL ¿Qué es DDL, DML y DCL? , el original es el siguiente:

DDL

DDL es el nombre corto del lenguaje de definición de datos, que se ocupa de los esquemas y descripciones de la base de datos, de cómo deben residir los datos en la base de datos.

  • CREAR: para crear una base de datos y sus objetos como (tabla, índice, vistas, procedimiento de almacenamiento, función y desencadenantes)
  • ALTER - altera la estructura de la base de datos existente
  • DROP: elimina objetos de la base de datos
  • TRUNCATE: elimina todos los registros de una tabla, incluidos todos los espacios asignados para los registros.
  • COMENTARIO: agregue comentarios al diccionario de datos
  • RENAME - renombrar un objeto

DML

DML es el nombre corto del lenguaje de manipulación de datos que se ocupa de la manipulación de datos e incluye las instrucciones SQL más comunes como SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR, etc., y se utiliza para almacenar, modificar, recuperar, eliminar y actualizar datos en la base de datos.

  • SELECCIONAR - recuperar datos de una base de datos
  • INSERT - inserta datos en una tabla
  • ACTUALIZACIÓN: actualiza los datos existentes dentro de una tabla
  • BORRAR - Eliminar todos los registros de una tabla de base de datos
  • MERGE - Operación UPSERT (insertar o actualizar)
  • LLAMADA - llame a un subprograma PL / SQL o Java
  • EXPLICAR PLAN - interpretación de la ruta de acceso a datos
  • TABLA DE BLOQUEO - Control de concurrencia

DCL

DCL es el nombre corto del lenguaje de control de datos que incluye comandos como GRANT, y se ocupa principalmente de los derechos, permisos y otros controles del sistema de base de datos.

  • CONCESIÓN: permite a los usuarios acceder a privilegios a la base de datos
  • REVOKE: retira los privilegios de acceso de los usuarios otorgados mediante el comando GRANT

TCL

TCL es el nombre corto del lenguaje de control de transacciones que se ocupa de las transacciones dentro de una base de datos.

  • COMPROMISO - confirma una transacción
  • ROLLBACK - revierte una transacción en caso de que ocurra algún error
  • SAVEPOINT - para deshacer la transacción haciendo puntos dentro de grupos
  • SET TRANSACTION - especifica características para la transacción
Terry
fuente
2
es posible que desee ampliar su respuesta es un poco en cualquier caso futuro que enlazan podría estar disponible
svarog
2
A veces también verá comandos como SELECCIONAR / MOSTRAR / EXPLICAR / AYUDA separados de DML y agrupados debajo DQL, con la Q de Consulta, porque en realidad no manipulan nada.
okdewit
1
TRUNCATE debería ser DML
Pete Alvin
@PeteAlvin de ninguna manera.
snr
335

DDL es lenguaje de definición de datos : se utiliza para definir estructuras de datos .

Por ejemplo, con SQL, sería instrucciones tales como create table, alter table...


DML es lenguaje de manipulación de datos : se utiliza para manipular datos en sí .

Por ejemplo, con SQL, sería instrucciones tales como insert, update, delete, ...

Pascal MARTIN
fuente
66
¿Describir es DDL o DML?
Tom J Muthirenthi
2
@TomJMuthirenthi No creo que DESCRIBEencaje en ninguno de los dos. Simplemente devuelve su propia representación de cómo se estructura una Tabla / DB. Puede lograr lo mismo con, por ejemplo, CREATEpero no como "legible para humanos"
JensV
Si SELECT se considera DML, DESCRIBE debe considerarse DDL.
Shloim
40

DDL es lenguaje de definición de datos: notación de especificación para definir el esquema de la base de datos. Funciona a nivel de esquema.

Los comandos DDL son:

create,drop,alter,rename

Por ejemplo:

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

DML es lenguaje de manipulación de datos . Se utiliza para acceder y manipular los datos.

Los comandos DML son:

select,insert,delete,update,call

Por ejemplo :

update account set balance = 1000 where account_number = 01;
Raju
fuente
1
@isapir Hay tres formas generales en que puede "manipular" datos en SQL: (1) Puede cambiar qué resultados se presentan. (2) Puede cambiar cómo se presentan u organizan los resultados (en términos de orden de clasificación, etc.). (3) Puede cambiar los datos subyacentes. En el primer caso, puede cambiar qué resultados se presentan utilizando diferentes cláusulas WHERE, predicados JOIN, etc., en una instrucción SELECT, es decir, "select * from account;" dará un resultado muy diferente (suponiendo que la cuenta tenga más de 1 fila) que seleccionar * de la cuenta donde saldo = 1000;
Raju
1
Cuando selecciona los datos en diferentes formatos, modifica la presentación de los datos para esa consulta, y no los datos en sí. La M en DML significa Manipulación, o en términos simples Modificación, de los datos. SELECTNo modifica los datos. Alternativamente, lo TRUNCATEhace, y por lo tanto es una instrucción DML y NO una DDL.
isapir
31

ingrese la descripción de la imagen aquí

DDL, lenguaje de definición de datos

  • Crear y modificar la estructura del objeto de base de datos en una base de datos.
  • Estos objetos de la base de datos pueden tener la tabla, vista, esquema, índices ... etc.

p.ej:

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

DML, lenguaje de manipulación de datos

La declaración DML se ve afectada en la tabla. Estas son las operaciones básicas que realizamos en una tabla.

  • La operación básica cruda se realiza en la tabla.
  • Estos operación crud se realice por el SELECT, INSERT, UPDATE, etc.

Los siguientes comandos se utilizan en DML:

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

En términos simples, supongamos que desea construir una casa, ¿qué hace?

DDL es decir, lenguaje de definición de datos

  1. Construir desde cero
  2. Renovarlo
  3. Destruye el más viejo y vuelve a crearlo desde cero.

es decir

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML es decir, lenguaje de manipulación de datos

La gente entra / sale de tu casa

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

DCL es decir, lenguaje de control de datos

Desea controlar a las personas a qué parte de la casa se les permite acceder y el tipo de acceso.

  1. GRANT PERMISSION
Satish Patel
fuente
11

DML es la abreviatura del lenguaje de manipulación de datos . Se utiliza para recuperar, almacenar, modificar, eliminar, insertar y actualizar datos en la base de datos.

Ejemplos: sentencias SELECT, UPDATE, INSERT


DDL es la abreviatura del lenguaje de definición de datos . Se utiliza para crear y modificar la estructura de los objetos de la base de datos en la base de datos.

Ejemplos: sentencias CREATE, ALTER, DROP

Visite este sitio para obtener más información: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/

Uc.IT_samuel
fuente
3

DDL es lenguaje de definición de datos: solo piense que está definiendo la base de datos. Entonces usamos los comandos CREATE, ALTER TRUNCATE.
DML es después de definir que estamos manipulando los datos. Entonces usamos el comando SELECT, INSERT, UPDATE, DELETE.

Recuerde que los comandos DDL se confirman automáticamente. No necesita usar declaraciones COMMIT.
Los comandos DML (lenguaje de manipulación de datos) deben confirmarse / revertirse.

Chinmoy
fuente
2

DDL = Lenguaje de definición de datos, cualquier comando que proporcione estructura y otra información sobre sus datos

DML = Lenguaje de manipulación de datos, solo hay 3 de ellos, INSERT, UPDATE, DELETE. 4, si va a contar SELECT * INTO x_tbl from tblde MSSQL (ANSI SQL: CREATE TABLE x_tbl AS SELECT * FROM tbl)

Michael Buen
fuente
2

En palabras simples

DDL (lenguaje de definición de datos): funcionará en la estructura de datos. Definir las estructuras de datos.

DML (lenguaje de manipulación de datos): funcionará en datos. manipula los datos en sí

Sakib
fuente
2

DDL

Crear, modificar, descartar (bases de datos, tablas, claves, índice, vistas, funciones, procedimientos almacenados)

DML

Insertar, eliminar, actualizar, truncar (tablas)

rajender kumar
fuente
1

DDL significa lenguaje de definición de datos. DDL se utiliza para definir la estructura de la tabla, como crear una tabla o agregar una columna a la tabla e incluso soltar y truncar la tabla. DML significa lenguaje de manipulación de datos. Como su nombre indica, DML se utiliza para manipular los datos de la tabla. Hay algunos comandos en DML, como insertar y eliminar.

Rishish
fuente