Syntaxe SQL : exemples de commandes DDL

DDL

Angl: Data definition language.
Fr: Langage de définition de données -LDD-
Dans une base de données, sous-ensemble d’un langage de base de données qui sert à décrire les données selon le niveau d’abstraction approprié (niveau conceptuel, niveau logique, niveau physique, par exemple).

CREATE TABLE : Créer une table

Cette commande permet de créer une nouvelle table.

  1. CREATE TABLE t_student(
  2. student_id SMALLINT NOT NULL,
  3. student_lastname CHAR(40) NOT NULL,
  4. student_firstname CHAR(40)
  5. );

DROP TABLE : Supprimer une table

Cette commande permet la suppression de la table.

  1. DROP TABLE t_student;

TRUNCATE TABLE : Vider une table

Cette commande permet la suppression des données de la table, sans supprimer la structure de la table (simplement la vider).

La commande TRUNCATE a le même effet qu'un DELETE1 sans argument mais ne parcourt pas la table ce qui est plus rapide.

  1. TRUNCATE TABLE t_student;

Inhoudsopgave Haut

ALTER TABLE : Modifier une table

La commande ALTER TABLE permet la modification d'une table.

Ajouter une colonne à une table

Cette commande permet d'ajouter une colonne à une table.

  1. ALTER TABLE t_student ADD student_gender CHAR(1);

Supprimer une colonne à une table

Cette commande permet de supprimer une colonne d'une table.

  1. ALTER TABLE t_student DROP student_firstname;

Modifier le type de données d'une colonne

Cette commande permet de modifier le type de données d'une colonne dans une table.

  1. ALTER TABLE t_student MODIFY student_firstname CHAR(50);

Renommer une colonne

Cette commande permet de modifier le nom d'une colonne dans une table.

  1. ALTER TABLE t_student CHANGE stud_gender student_gender CHAR(1);

La colonne stud_gender sera donc renommée en student_gender.

Renommer une table

Cette commande, qui ne fait pas partie des ALTER, permet de modifier le nom d'une table.

  1. RENAME TABLE t_students TO t_student;

La table t_students sera donc renommée en t_student.

Inhoudsopgave Haut

Clé primaire, clé étrangère

Définir une clé primaire

Cette commande permet de définir une clé primaire sur une colonne d'une table.

  1. ALTER TABLE t_student ADD PRIMARY KEY (student_id);

Une contrainte de type clé primaire est donc imposée sur la colonne student_id de la table t_student.

Définir une clé étrangère2

Cette commande permet de définir une clé étrangère sur une colonne d'une table, qui référence (qui relie) une table par une colonne.

  1. ALTER TABLE tj_student_course ADD FOREIGN KEY (student_fk) REFERENCES t_student(student_id);

Dans cet exemple, student_fk est le nom de la colonne dans la table tj_student_course. Cette colonne est liée à la colonne student_id de la table t_student.

Nous pouvons utiliser le même nom, mais cela risque de poser des problèmes lors de jointures si l'on ne spécifie pas explicitement les noms des tables devant les noms des colonnes.

Inhoudsopgave Haut

CREATE INDEX : Index

Définir un index

Cette commande permet de définir un index pour une colonne d'une table.

  1. CREATE INDEX student_idx ON t_student (student_lastname);

Nous pouvons aussi spécifier l'ordre de cet index (ascendant ou descendant).

  1. CREATE INDEX student_idx ON t_student (student_lastname ASC);

La commande CREATE UNIQUE INDEX nous permet dans l'exemple suivant de n'accepter qu'une seule ligne (un seul record) avec la même combinaison des champs student_lastname et student_firstname (une seule ligne avec à la fois le même nom et le même prénom).

  1. CREATE UNIQUE INDEX student_lastname_firstname_idx ON t_student (student_lastname ,student_firstname);

Supprimer un index

Cette commande permet de supprimer un index pour une colonne d'une table.

  1. DROP INDEX student_idx;

Inhoudsopgave Haut

Autres composants SQL

DML

Angl : Data manipulation language.
Fr : Langage de manipulation de données -LMD-

Dans une base de données, sous-ensemble de langage de base de données qui regroupe des commandes et des règles d’utilisation permettant de créer, d’extraire, de modifier et/ou de supprimer des données dans la base.

DCL

angl : Data Control Language .
Elément du SQL qui permet de gérer les droits. Nous retrouvons dans cette partie les commandes

  1. GRANT
pour accorder et
  1. REVOKE
pour supprimer un droit.

TCL

angl : Transaction Control Language.
Eléments SQL qui permettent de respecter les propriétés ACID des SGBDR. Nous y retrouvons les commandes suivantes :

  1. SET TRANSACTION, COMMIT, ROLLBACK


Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 10/01/2010 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/sql-syntaxe-ddl-intro.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.

Notes

  1.  ADD FOREIGN KEY : Ceci est la syntaxe SQL, mais qui peut différer selon les types d'implémentations. Par exemple en MySQL, la commande serait ALTER TABLE tj_student_course ADD CONSTRAINT student_course_rel_fk FOREIGN KEY(student_fk) REFERENCES t_student(student_id);, ce qui permet de donner un nom à cette contrainte (ici student_course_rel_fk).

Inhoudsopgave Haut