Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

SQL Data Definition Language (DDL)

Icône Présentation
1 / 1

Dans la partie sur la gestion des bases de données, nous avons abordé le SQL DDL, puis dans la partie sur la gestion avancée nous avons aussi aborder les views, triggers et procedures.

Définitions

CREATE DATABASE nom_base
DROP DATABASE nom_base
CREATE TABLE nom_table (
colonne1 type1,
colonne2 type2,
...
)
ALETER TABLE nom_table ADD colonne type
DROP TABLE nom_table

Clés et contraintes

CREATE TABLE nom_table (
id INT PRIMARY KEY,
nom VARCHAR(50) NOT NULL,
prenom VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
CONSTRAINT nom_table_nom_check CHECK (nom <> 'toto')
)
ALTER TABLE nom_table ADD FOREIGN KEY (id) REFERENCES autre_table(id)

Création depuis un SELECT

CREATE TABLE nom_table AS
SELECT colonne1, colonne2, ...
FROM autre_table
WHERE condition

Types de données

  • INT : entier
  • FLOAT : nombre à virgule flottante
  • CHAR(n) : chaîne de caractères de longueur fixe
  • VARCHAR(n) : chaîne de caractères de longueur variable
  • DATE : date
  • TIME : heure
  • DATETIME : date et heure
  • BOOLEAN : booléen
  • ENUM('valeur1', 'valeur2', ...) : liste de valeurs
  • SET('valeur1', 'valeur2', ...) : ensemble de valeurs
  • BLOB : données binaires
  • TEXT : texte
  • JSON : données JSON
  • XML : données XML
  • etc.

Views (Vues)

CREATE VIEW nom_vue AS
SELECT colonne1, colonne2, ...
FROM table
WHERE condition
DROP VIEW nom_vue

Delimiters (Délimiteurs)

DELIMITER //
DELIMITER ;

Triggers (Déclencheurs)

CREATE TRIGGER nom_trigger
BEFORE INSERT ON table
FOR EACH ROW
BEGIN
...
END
DROP TRIGGER nom_trigger

Procedures

CREATE PROCEDURE nom_procedure( IN param1 type1, OUT param2 type2, INOUT param3 type3, ... )
BEGIN
...
END
DROP PROCEDURE nom_procedure