mettre dedans lors de la prochaine insertion. MySQL va chercher ça tout seul comme un grand en prenant la dernière valeur
insérée et en l'incrémentant de 1.
Les moteurs de tables
Les moteurs de tables sont une spécificité de MySQL. Ce sont des moteurs de stockage. Cela permet de gérer différemment les
tables selon l'utilité qu'on en a. Je ne vais pas vous détailler tous les moteurs de tables existant. Si vous voulez plus
d'informations, je vous renvoie à la documentation officielle.
Les deux moteurs les plus connus sont MyISAM et InnoDB.
MyISAM
C'est le moteur par défaut. Les commandes d'insertion et sélection de données sont particulièrement rapides sur les tables
utilisant ce moteur. Cependant, il ne gère pas certaines fonctionnalités importantes comme les clés étrangères, qui permettent de
vérifier l'intégrité d'une référence d'une table à une autre table (voir la deuxième partie du cours) ou les transactions, qui
permettent de réaliser des séries de modifications "en bloc" ou au contraire d'annuler ces modifications (voir la cinquième partie
du cours).
InnoDB
Plus lent et plus gourmand en ressources que MyISAM, ce moteur gère les clés étrangères et les transactions. Étant donné que
nous nous servirons des clés étrangères dès la deuxième partie, c'est celui-là que nous allons utiliser.
De plus, en cas de crash du serveur, il possède un système de récupération automatique des données.
Préciser un moteur lors de la création de la table
Pour qu'une table utilise le moteur de notre choix, il suffit d'ajouter ceci à la fin de la commande de création :
Code : SQL
ENGINE = moteur;
En remplaçant bien sûr "moteur" par le nom du moteur que nous voulons utiliser, ici InnoDB :
Code : SQL
ENGINE = INNODB;
Syntaxe de CREATE TABLE
Avant de voir la syntaxe permettant de créer une table, résumons un peu. Nous voulons donc créer une table Animal avec six
colonnes telles que décrites dans le tableau suivant.
Caractéristique Nom du champ
Type
NULL?
Divers
Numéro d'identité id
SMALLINT
Non
Clé primaire + auto-incrément + UNSIGNED
Espèce
espece
VARCHAR(40) Non
-
Sexe
sexe
CHAR(1)
Oui
-
Date de naissance date_naissance DATETIME
Non
-
Commentaires
commentaires
TEXT
Oui
-
Nom
nom
VARCHAR(30) Oui
-
Syntaxe
Par souci de clarté, je vais diviser l'explication de la syntaxe de CREATE TABLE en deux. La première partie vous donne la
syntaxe globale de la commande, et la deuxième partie s'attarde sur la description des colonnes créées dans la table.
Partie 1 : MySQL et les bases du langage SQL
40/414
www.openclassrooms.com
Précédent

- 40/413

Suivant