La commande CREATE TABLE permet de créer une table en SQL. Un tableau est une entité qui est contenu dans une base de données pour stocker des données ordonnées dans des colonnes. La création d’une table sert à définir les colonnes et le type de données qui seront contenus dans chacun des colonne (entier, chaîne de caractères, date, valeur binaire …).
Syntaxe
La syntaxe générale pour créer une table est la suivante :
CREATE TABLE nom_de_la_table ( colonne1 type_donnees, colonne2 type_donnees, colonne3 type_donnees, colonne4 type_donnees )
Dans cette requête, 4 colonnes ont été définies. Le mot-clé “type_donnees” sera à remplacer par un mot-clé pour définir le type de données (INT, DATE, TEXT …). Pour chaque colonne, il est également possible de définir des options telles que (liste non-exhaustive):
- NOT NULL : empêche d’enregistrer une valeur nulle pour une colonne.
- DEFAULT : attribuer une valeur par défaut si aucune données n’est indiquée pour cette colonne lors de l’ajout d’une ligne dans la table.
- PRIMARY KEY : indiquer si cette colonne est considérée comme clé primaire pour un index.
Exemple
Imaginons que l’ont souhaite créer une table utilisateur, dans laquelle chaque ligne correspond à un utilisateur inscrit sur un site web. La requête pour créer cette table peut ressembler à ceci:
CREATE TABLE utilisateur ( id INT PRIMARY KEY NOT NULL, nom VARCHAR(100), prenom VARCHAR(100), email VARCHAR(255), date_naissance DATE, pays VARCHAR(255), ville VARCHAR(255), code_postal VARCHAR(5), nombre_achat INT )
Voici des explications sur les colonnes créées :
- id : identifiant unique qui est utilisé comme clé primaire et qui n’est pas nulle
- nom : nom de l’utilisateur dans une colonne de type VARCHAR avec un maximum de 100 caractères au maximum
- prenom : idem mais pour le prénom
- email : adresse email enregistré sous 255 caractères au maximum
- date_naissance : date de naissance enregistré au format AAAA-MM-JJ (exemple : 1973-11-17)
- pays : nom du pays de l’utilisateur sous 255 caractères au maximum
- ville : idem pour la ville
- code_postal : 5 caractères du code postal
- nombre_achat : nombre d’achat de cet utilisateur sur le site