La commande DESCRIBE nom_table, qui affiche les colonnes d'une table ainsi que certaines de leurs caractéristiques, est
en fait un raccourci pour SHOW COLUMNS FROM nom_table.
Requête de création d'un objet
La commande SHOW peut également montrer la requête ayant servi à créer un objet.
SHOW CREATE type_objet nom_objet;
Exemple 1 : requête de création de la table Espece.
Code : SQL
SHOW CREATE TABLE Espece \G
Le \G est un délimiteur, comme ;. Il change simplement la manière d'afficher le résultat, qui ne sera plus sous forme de
tableau, mais formaté verticalement. Pour les requêtes de description comme SHOW CREATE, qui renvoient peu de
lignes (ici : une) mais contenant beaucoup d'informations, c'est beaucoup plus lisible.
Code : SQL
*************************** 1. row ***************************
Table: Espece
Create Table: CREATE TABLE `Espece` (
`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`nom_courant` varchar(40) NOT NULL,
`nom_latin` varchar(40) NOT NULL,
`description` text,
`prix` decimal(7,2) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `nom_latin` (`nom_latin`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
Exemple 2 : requête de création du trigger before_insert_adoption.
Code : SQL
SHOW CREATE TRIGGER before_insert_adoption \G
Code : SQL
*************************** 1. row ***************************
Trigger: before_insert_adoption
sql_mode:
SQL Original Statement: CREATE DEFINER=`sdz`@`localhost` TRIGGER
before_insert_adoption BEFORE INSERT
ON Adoption FOR EACH ROW
BEGIN
IF NEW.paye != TRUE
AND NEW.paye != FALSE
THEN
INSERT INTO Erreur (erreur) VALUES ('Erreur : paye doit
valoir TRUE (1) ou FALSE (0).');
ELSEIF NEW.date_adoption < NEW.date_reservation THEN
INSERT INTO Erreur (erreur) VALUES ('Erreur : date_adoption
doit être >= à date_reservation.');
Partie 7 : Gestion des utilisateurs et configuration du serveur
395/414
www.openclassrooms.com
en fait un raccourci pour SHOW COLUMNS FROM nom_table.
Requête de création d'un objet
La commande SHOW peut également montrer la requête ayant servi à créer un objet.
SHOW CREATE type_objet nom_objet;
Exemple 1 : requête de création de la table Espece.
Code : SQL
SHOW CREATE TABLE Espece \G
Le \G est un délimiteur, comme ;. Il change simplement la manière d'afficher le résultat, qui ne sera plus sous forme de
tableau, mais formaté verticalement. Pour les requêtes de description comme SHOW CREATE, qui renvoient peu de
lignes (ici : une) mais contenant beaucoup d'informations, c'est beaucoup plus lisible.
Code : SQL
*************************** 1. row ***************************
Table: Espece
Create Table: CREATE TABLE `Espece` (
`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`nom_courant` varchar(40) NOT NULL,
`nom_latin` varchar(40) NOT NULL,
`description` text,
`prix` decimal(7,2) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `nom_latin` (`nom_latin`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
Exemple 2 : requête de création du trigger before_insert_adoption.
Code : SQL
SHOW CREATE TRIGGER before_insert_adoption \G
Code : SQL
*************************** 1. row ***************************
Trigger: before_insert_adoption
sql_mode:
SQL Original Statement: CREATE DEFINER=`sdz`@`localhost` TRIGGER
before_insert_adoption BEFORE INSERT
ON Adoption FOR EACH ROW
BEGIN
IF NEW.paye != TRUE
AND NEW.paye != FALSE
THEN
INSERT INTO Erreur (erreur) VALUES ('Erreur : paye doit
valoir TRUE (1) ou FALSE (0).');
ELSEIF NEW.date_adoption < NEW.date_reservation THEN
INSERT INTO Erreur (erreur) VALUES ('Erreur : date_adoption
doit être >= à date_reservation.');
Partie 7 : Gestion des utilisateurs et configuration du serveur
395/414
www.openclassrooms.com
