Qu’est-ce que le DDL ?
Le langage de définition des données vous aide à définir la structure ou le schéma de la base de données. Les commandes DDL vous aident à créer la structure de la base de données et les autres objets de la base de données. Ses commandes sont auto-committées donc, les changements sont enregistrés dans la base de données de façon permanente. La forme complète de DDL est le langage de définition de données.
Dans ce tutoriel sur la différence entre DML et DDL, vous apprendrez :
- Qu’est-ce que le DDL ?
- Qu’est-ce que DML ?
- Pourquoi DDL ?
- Pourquoi DML ?
- Différence entre DDL et DML dans les SGBD
- Commandes pour DDL
- Commandes pour DML
- Exemple de commande DDL
- Exemple de commande DML
Qu’est-ce que DML ?
Commandes DML il pour vous permettre de gérer les données stockées dans la base de données, bien que les commandes DML ne sont pas auto-committed. De plus, elles ne sont pas permanentes. Il est donc possible d’annuler l’opération. La forme complète de DML est le langage de manipulation de données.
Ci-après la différence clé entre DDL et DML dans les SGBD :
DIFFERENCES CLÉS:
- Le langage de définition de données (DDL) vous aide à définir la structure ou le schéma de la base de données tandis que le langage de manipulation de données (commande DML) vous permet de gérer les données stockées dans la base de données.
- La commande DDL est utilisée pour créer le schéma de la base de données alors que la commande DML est utilisée pour alimenter et manipuler la base de données
- Comparant DDL vs DML, les instructions DDL affectent la table entière alors que les commandes DML n’affectent qu’une ou plusieurs lignes.
- En DDL, la déclaration SQL ne peut pas être rollbackée alors qu’en DML la déclaration SQL peut être un rollbacked.
- DDL est une méthode déclarative alors que DML est une méthode impérative.
- Les commandes DDL importantes sont : 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE, etc. tandis que les commandes DML importantes sont : 1) INSERT, 2) UPDATE, 3) DELETE, 4) MERGE, etc.
Pourquoi DDL ?
Voici, les raisons d’utiliser la méthode DDL :
- Permet de stocker des données partagées
- Indépendance des données amélioration de l’intégrité
- Autorise plusieurs utilisateurs
- Amélioration de la sécurité accès efficace aux données
Pourquoi DML?
Voici, les avantages/pro de DML :
- Les instructions DML vous permettent de modifier les données stockées dans une base de données.
- Les utilisateurs peuvent spécifier quelles données sont nécessaires.
- DML offre de nombreuses saveurs et capacités différentes entre les fournisseurs de bases de données.
- Il offre une interaction humaine efficace avec le système.
Différence entre DDL et DML dans les SGBD
Voici la principale différence entre les commandes DDL et DML :
DDL | DML |
Le langage de définition des données (DDL) vous aide à définir la structure ou le schéma de la base de données. | Le langage de manipulation des données (commande DML) vous permet de gérer les données stockées dans la base de données. |
La commande DML est utilisée pour créer le schéma de la base de données. | La commande DML est utilisée pour alimenter et manipuler la base de données |
DDL n’est pas classé plus loin. | Les DML sont classés en DML procéduraux et non et procéduraux. |
Créer, ALTER, DROP, TRUNCATE et COMMENTER et RENOMMER, etc. | INSERT, UPDATE, DELETE, MERGE, CALL, etc. |
Il définit la colonne de la table. | Elle ajoute ou met à jour la ligne de la table |
Les instructions DDL affectent la table entière. | DML affecte une ou plusieurs lignes. |
La déclaration SQL ne peut pas être un rollback | La déclaration SQL peut être un rollback |
DDL est déclaratif. | DML est impératif. |
Commandes pour DDL
Les cinq types de commandes DDL sont :
CREATE
Les instructions CREATE sont utilisées pour définir le schéma de la structure de la base de données :
Syntaxe :
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES);
Par exemple :
Create database university;Create table students;Create view for_students;
DROP
Les commandes Drop suppriment les tables et les bases de données du SGBDR.
Syntaxe :
DROP TABLE ;
Par exemple :
Drop object_type object_name;Drop database university;Drop table student;
ALTER
La commande Alters permet de modifier la structure de la base de données.
Syntaxe :
Pour ajouter une nouvelle colonne dans la table
ALTER TABLE table_name ADD column_name COLUMN-definition;
Pour modifier une colonne existante dans la table :
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Par exemple :
Alter table guru99 add subject varchar;
TRUNCATE :
Cette commande utilisée pour supprimer toutes les lignes de la table et libérer l’espace contenant la table.
Syntaxe :
TRUNCATE TABLE table_name;
Exemple :
TRUNCATE table students;
Commandes pour DML
Voici quelques commandes DML importantes :
- INSERT
- UPDATE
- DELETE
INSERT :
C’est une instruction qui est une requête SQL. Cette commande est utilisée pour insérer des données dans la ligne d’une table.
Syntaxe :
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Par exemple :
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
UPDATE :
Cette commande est utilisée pour mettre à jour ou modifier la valeur d’une colonne dans la table.
Syntaxe :
UPDATE table_name SET
Par exemple :
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
DELETE :
Cette commande est utilisée pour supprimer une ou plusieurs lignes d’une table.
Syntaxe :
DELETE FROM table_name ;
Par exemple :
DELETE FROM students WHERE FirstName = 'Jhon';
Exemple de commande DDL
CREATE
Syntaxe :
CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);
Ici,
- Le paramètre tableName désigne le nom de la table que vous allez créer.
- Les paramètres colonne_1, colonne_2… désignent les colonnes à ajouter à la table.
- Une colonne doit être spécifiée comme étant NULL ou NOT NULL. Si vous ne spécifiez pas, SQL Server prendra NULL comme valeur par défaut
Exemple :
CREATE TABLE Students(Student_ID Int,Student_Name Varchar(10))
ALTER
Syntaxe :
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Exemple :
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
DROP
Syntaxe :
DROP TABLE <tableName>;
Le paramètre tableName est le nom de la table qui doit être supprimée.
Exemple :
DROP TABLE COURSE_NAMES;
Exemple de commande DML
INSERT
En PL/SQL, nous pouvons insérer les données dans n’importe quelle table en utilisant la commande SQL INSERT INTO. Cette commande prendra le nom de la table, la colonne de la table et les valeurs de la colonne comme entrée et insérera la valeur dans la table de base.
La commande INSERT peut également prendre les valeurs directement d’une autre table en utilisant l’instruction ‘SELECT’ plutôt que de donner les valeurs pour chaque colonne. Grâce à l’instruction ‘SELECT’, nous pouvons insérer autant de lignes que la table de base en contient.
Syntaxe :
BEGIN INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>) VALUES(<valuel><value2>,...:<value_n>);END;
La syntaxe ci-dessus montre la commande INSERT INTO. Le nom de la table et les valeurs sont des champs obligatoires, alors que les noms des colonnes ne sont pas obligatoires si les instructions d’insertion ont des valeurs pour toutes les colonnes de la table.
Le mot clé ‘VALUES’ est obligatoire si les valeurs sont données séparément, comme indiqué ci-dessus.
Syntaxe :
BEGIN INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>) SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;END;
La syntaxe ci-dessus montre la commande INSERT INTO qui prend les valeurs directement de la <table_nom2> en utilisant la commande SELECT.
Le mot clé ‘VALUES’ ne doit pas être présent dans ce cas, car les valeurs ne sont pas données séparément.
DELETE
Voici la syntaxe pour supprimer la table
Syntaxe :
DROP TABLE <TableName>;
Le paramètre TableName est le nom de la table qui doit être supprimée.
Exemple :
DROP TABLE COURSE_NAMES;
SELECT
Pour visualiser des données dans SQL Server, on utilise l’instruction SELECT.
Syntaxe :
SELECT expressionFROM tableName;
Exemple :
SELECT * FROM Course;