Que sont DDL et DML?

345

J'ai entendu les termes DDL et DML en référence aux bases de données, mais je ne comprends pas ce qu'ils sont.

Que sont-ils et comment sont-ils liés à SQL?

Sachindra
la source

Réponses:

280

La commande SQL peut être divisée en trois sous-groupes, DDL, DML et DCL

Plus d'informations voir ici: MySQL Qu'est-ce que DDL, DML et DCL? , l'original est le suivant:

DDL

DDL est le nom abrégé du langage de définition de données, qui traite des schémas et des descriptions de base de données, de la façon dont les données doivent résider dans la base de données.

  • CRÉER - pour créer une base de données et ses objets comme (table, index, vues, procédure de stockage, fonction et déclencheurs)
  • ALTER - modifie la structure de la base de données existante
  • DROP - supprimer des objets de la base de données
  • TRUNCATE - supprime tous les enregistrements d'une table, y compris tous les espaces alloués aux enregistrements sont supprimés
  • COMMENTAIRE - ajoutez des commentaires au dictionnaire de données
  • RENAME - renommer un objet

DML

DML est le nom abrégé du langage de manipulation de données qui traite de la manipulation des données et comprend les instructions SQL les plus courantes telles que SELECT, INSERT, UPDATE, DELETE, etc., et il est utilisé pour stocker, modifier, récupérer, supprimer et mettre à jour les données dans la base de données.

  • SELECT - récupérer les données d'une base de données
  • INSERT - insérer des données dans une table
  • UPDATE - met à jour les données existantes dans une table
  • DELETE - Supprimer tous les enregistrements d'une table de base de données
  • MERGE - opération UPSERT (insérer ou mettre à jour)
  • APPEL - appeler un sous-programme PL / SQL ou Java
  • EXPLAIN PLAN - interprétation du chemin d'accès aux données
  • LOCK TABLE - Contrôle d'accès simultané

DCL

DCL est le nom abrégé du langage de contrôle des données qui comprend des commandes telles que GRANT, et concerne principalement les droits, autorisations et autres contrôles du système de base de données.

  • GRANT - accorder aux utilisateurs des privilèges d'accès à la base de données
  • REVOKE - retirer les privilèges d'accès des utilisateurs accordés à l'aide de la commande GRANT

TCL

TCL est le nom abrégé de Transaction Control Language qui traite des transactions dans une base de données.

  • COMMIT - valide une transaction
  • ROLLBACK - annule une transaction en cas d'erreur
  • SAVEPOINT - pour annuler les points de transaction au sein des groupes
  • SET TRANSACTION - spécifiez les caractéristiques de la transaction
Terry
la source
2
vous voudrez peut-être élargir votre réponse un peu plus tard dans le cas où ce lien deviendrait indisponible
svarog
2
Parfois, vous verrez également des commandes telles que SELECT / SHOW / EXPLAIN / HELP séparées de DML et regroupées sous DQL, avec Q de Query - car elles ne manipulent vraiment rien.
okdewit
1
TRUNCATE devrait être DML
Pete Alvin
@PeteAlvin aucun moyen.
snr
335

DDL est Data Definition Language : il est utilisé pour définir les structures de données .

Par exemple, avec SQL, il serait des instructions telles que create table, alter table...


DML est un langage de manipulation de données : il est utilisé pour manipuler les données elles-mêmes .

Par exemple, avec SQL, il serait des instructions telles que insert, update, delete, ...

Pascal MARTIN
la source
6
DÉCRIRE est DDL ou DML?
Tom J Muthirenthi
2
@TomJMuthirenthi Je pense que cela ne DESCRIBEcorrespond à aucun des deux. Il renvoie simplement sa propre représentation de la structure d'une table / base de données. Vous pouvez réaliser la même chose avec, par exemple, CREATEmais pas comme "lisible par l'homme"
JensV
Si SELECT est considéré comme DML, alors DESCRIBE doit être considéré comme DDL.
Shloim
40

DDL est un langage de définition de données: notation de spécification pour définir le schéma de base de données. Cela fonctionne au niveau du schéma.

Les commandes DDL sont:

create,drop,alter,rename

Par exemple:

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

DML est un langage de manipulation de données . Il est utilisé pour accéder aux données et les manipuler.

Les commandes DML sont:

select,insert,delete,update,call

Par exemple :

update account set balance = 1000 where account_number = 01;
Raju
la source
1
@isapir Il existe trois façons générales de «manipuler» les données en SQL: (1) Vous pouvez modifier les résultats présentés. (2) Vous pouvez changer la façon dont les résultats sont présentés ou organisés (en termes de choses comme l'ordre de tri, etc.). (3) Vous pouvez modifier les données sous-jacentes. Dans le premier cas, vous pouvez changer les résultats qui sont présentés en utilisant différentes clauses WHERE, les prédicats JOIN, etc., dans une instruction SELECT, c'est-à-dire "sélectionner * dans le compte;" donnera un résultat très différent (en supposant que le compte a plus d'une ligne) que sélectionner * du compte où le solde = 1000;
Raju
1
Lorsque vous sélectionnez les données dans différents formats, vous modifiez la présentation des données pour cette requête, et non les données elles-mêmes. Le M dans DML signifie Manipulation, ou en termes profanes Modification, des données. SELECTne modifie pas les données. Alternativement, TRUNCATEfait, et est donc une instruction DML et NON une instruction DDL.
isapir
31

entrez la description de l'image ici

DDL, langage de définition de données

  • Créez et modifiez la structure d'un objet de base de données dans une base de données.
  • Ces objets de base de données peuvent avoir la table, la vue, le schéma, les index, etc.

par exemple:

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

DML, langage de manipulation de données

Les instructions DML sont affectées sur la table. Voilà donc les opérations de base que nous effectuons dans une table.

  • Les opérations de base de crud sont effectuées dans le tableau.
  • Ces opérations de CRUD sont effectuer par le SELECT, INSERT, UPDATE, etc.

Les commandes ci-dessous sont utilisées dans DML:

  • INSERT, UPDATE, SELECT, DELETE, Etc.
JegsVala
la source
14

En termes simples, supposons que vous vouliez construire une maison, que faites-vous.

DDL ie langage de définition des données

  1. Construisez à partir de zéro
  2. Rénovation
  3. Détruisez l'ancien et recréez-le à partir de zéro

C'est

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML ie langage de manipulation de données

Les gens viennent / entrent à l'intérieur / de votre maison

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

DCL ie langage de contrôle des données

Vous voulez contrôler les gens à quelle partie de la maison ils sont autorisés à accéder et à quel type d'accès.

  1. GRANT PERMISSION
Satish Patel
la source
11

DML est l'abréviation de Data Manipulation Language . Il est utilisé pour récupérer, stocker, modifier, supprimer, insérer et mettre à jour des données dans la base de données.

Exemples: instructions SELECT, UPDATE, INSERT


DDL est l'abréviation de Data Definition Language . Il est utilisé pour créer et modifier la structure des objets de base de données dans la base de données.

Exemples: instructions CREATE, ALTER, DROP

Visitez ce site pour plus d'informations: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/

Uc.IT_samuel
la source
3

DDL est un langage de définition de données: pensez simplement que vous définissez la base de données. Nous utilisons donc les commandes CREATE, ALTER TRUNCATE.
DML est après avoir défini que nous manipulons les données. Nous utilisons donc la commande SELECT, INSERT, UPDATE, DELETE.

N'oubliez pas que les commandes DDL sont automatiquement validées. Vous n'avez pas besoin d'utiliser les instructions COMMIT.
Les commandes DML (Data Manipulation Language) doivent être validées / annulées.

Chinmoy
la source
2

DDL = Data Definition Language, toutes les commandes qui fournissent une structure et d'autres informations sur vos données

DML = Data Manipulation Language, il n'y en a que 3, INSERT, UPDATE, DELETE. 4, si vous compterez SELECT * INTO x_tbl from tblde MSSQL (ANSI SQL: CREATE TABLE x_tbl AS SELECT * FROM tbl)

Michael Buen
la source
2

En termes simples.

DDL (Data definition language): travaillera sur la structure des données. définir les structures de données.

DML (langage de manipulation de données): fonctionnera sur les données. manipule les données elles-mêmes

Sakib
la source
2

DD L: modifier le schéma

DML : modifier les données

Semble spécifique aux limitations de MySQL ( code source de rails )

Dorian
la source
2

DDL

Créer, modifier, supprimer (bases de données, tables, clés, index, vues, fonctions, procédures stockées)

DML

Insérer, supprimer, mettre à jour, tronquer (tables)

rajender kumar
la source
1

DDL signifie Data Definition Language. DDL est utilisé pour définir la structure de la table, comme créer une table ou ajouter une colonne à la table et même supprimer et tronquer la table. DML signifie Data Manipulation Language. Comme son nom l'indique, DML est utilisé pour manipuler les données de la table. Il existe certaines commandes dans DML telles que l'insertion et la suppression.

Rishish
la source