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
1CREATE DATABASE nom_base
1DROP DATABASE nom_base
1CREATE TABLE nom_table (2 colonne1 type1,3 colonne2 type2,4 ...5)
1ALETER TABLE nom_table ADD colonne type
1DROP TABLE nom_table
Clés et contraintes
1CREATE TABLE nom_table (2 id INT PRIMARY KEY,3 nom VARCHAR(50) NOT NULL,4 prenom VARCHAR(50) NOT NULL,5 email VARCHAR(100) UNIQUE,6 CONSTRAINT nom_table_nom_check CHECK (nom <> 'toto')7)
1ALTER TABLE nom_table ADD FOREIGN KEY (id) REFERENCES autre_table(id)
Création depuis un SELECT
1CREATE TABLE nom_table AS2SELECT colonne1, colonne2, ...3FROM autre_table4WHERE condition
Types de données
INT
: entierFLOAT
: nombre à virgule flottanteCHAR(n)
: chaîne de caractères de longueur fixeVARCHAR(n)
: chaîne de caractères de longueur variableDATE
: dateTIME
: heureDATETIME
: date et heureBOOLEAN
: booléenENUM('valeur1', 'valeur2', ...)
: liste de valeursSET('valeur1', 'valeur2', ...)
: ensemble de valeursBLOB
: données binairesTEXT
: texteJSON
: données JSONXML
: données XML- etc.
Views (Vues)
1CREATE VIEW nom_vue AS2SELECT colonne1, colonne2, ...3FROM table4WHERE condition
1DROP VIEW nom_vue
Delimiters (Délimiteurs)
1DELIMITER //
1DELIMITER ;
Triggers (Déclencheurs)
1CREATE TRIGGER nom_trigger2BEFORE INSERT ON table3FOR EACH ROW4BEGIN5 ...6END
1DROP TRIGGER nom_trigger
Procedures
1CREATE PROCEDURE nom_procedure( IN param1 type1, OUT param2 type2, INOUT param3 type3, ... )2BEGIN3 ...4END
1DROP PROCEDURE nom_procedure