SQL CREATE TABLE est utilisé pour créer une nouvelle table au sein d’une base de données. Lors de la création, des pa­ra­mètres im­por­tants sont déjà définis et il est possible d’utiliser une table existante comme base.

Qu’est-ce que SQL CREATE TABLE ?

Après avoir créé une base de données SQL à l’aide du Struc­tu­red Query Language (SQL), vous pouvez créer une nouvelle table. Cette dernière sert à stocker vos en­re­gis­tre­ments et indique la structure dans laquelle ces données doivent être préparées. Les tableaux se composent d’une part de champs ou colonnes qui peuvent contenir certains types de données et d’autre part de lignes dans les­quelles ces données sont listées. Pour créer une nouvelle table, il suffit d’utiliser l’ins­truc­tion SQL CREATE TABLE. Celle-ci vous permet non seulement de créer la nouvelle table, mais aussi de dé­ter­mi­ner comment elle doit être struc­tu­rée. Ensuite, vous la rem­plis­sez avec les données cor­res­pon­dantes.

Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel

Syntaxe et fonc­tion­ne­ment

En jetant un coup d’œil à la syntaxe de SQL CREATE TABLE, vous pouvez déjà constater que les types de données et les dé­sig­na­tions sont obli­ga­toires dès le début pour la création correcte d’une nouvelle table. La syntaxe se présente de cette manière :

CREATE TABLE nom_de_la_table (
    colonne1 type_de_données,
    colonne2 type_de_données,
    colonne3 type_de_données,
    ...
);
sql

Avec la commande SQL CREATE TABLE, vous créez une nouvelle table en spé­ci­fiant son nom sur la première ligne. Cette table est ensuite spécifiée à l’intérieur des pa­ren­thèses. Vous choi­sis­sez ainsi une dé­sig­na­tion pour colonne1, colonne2 etc. et vous indiquez les types de données qui peuvent être déposés dans cette colonne. Les types de données les plus utilisés sont par exemple VARCHAR (une chaîne de ca­rac­tères pouvant contenir des lettres, des chiffres ou des ca­rac­tères spéciaux), BOOLEAN (pour les valeurs boo­léennes true ou false), INT (pour les valeurs nu­mé­riques) ou DATE (pour les données de date).

Exemple d’une nouvelle table

Pour illustrer le fonc­tion­ne­ment de SQL CREATE TABLE, rien ne vaut un exemple concret. Pour cela, nous créons un ré­per­toire d’employés qui contient un iden­ti­fiant d’employé, le nom de famille, le prénom, l’adresse, la ville et l’âge. Nous avons donc besoin de six colonnes au total, qui peuvent stocker dif­fé­rents types de données. Voici à quoi ressemble le code approprié :

CREATE TABLE Employés (
Identifiant INT NOT NULL,
Nom de famille VARCHAR(50),
Prénom VARCHAR(50),
Adresse VARCHAR(50),
Ville VARCHAR(50),
Âge INT NOT NULL
);
sql

Pour l’iden­ti­fiant et l’âge, nous choi­sis­sons le type de données INT, qui contient des chiffres. L’ajout NOT NULL indique que ces champs ne doivent pas être laissés vides. Les autres colonnes Nom de famille, Prénom, Adresse et Ville peuvent contenir des lettres, des chiffres et des ca­rac­tères spéciaux.

Com­bi­nai­son avec la commande IF NOT EXISTS

Chaque table doit être unique dans une base de données pour que le système puisse y accéder. Ainsi, si vous essayez de créer une nouvelle table avec SQL CREATE TABLE et que vous choi­sis­sez un nom qui existe déjà, vous recevrez un message d’erreur du type Error: table already exists. Pour éviter cela, vous pouvez ajouter la commande op­tion­nelle IF NOT EXISTS. Celle-ci vérifie d’abord s’il existe déjà une table avec le même nom. Si ce n’est pas le cas, elle crée un nouveau tableau avec les pa­ra­mètres définis. Voici le code cor­res­pon­dant à notre exemple précédent :

CREATE TABLE IF NOT EXISTS Employés (
Identifiant INT NOT NULL,
Nom de famille VARCHAR(50),
Prénom VARCHAR(50),
Adresse VARCHAR(50),
Ville VARCHAR(50),
Âge INT NOT NULL
);
sql

Créer une nouvelle table sur la base d’une table existante

Même si cette ins­truc­tion fonc­tionne assez fa­ci­le­ment, elle peut être fas­ti­dieuse si vous devez créer plusieurs tables si­mi­laires. C’est pourquoi SQL CREATE DATABASE vous permet également de créer une nouvelle table en vous basant sur une table déjà existante. Vous avez alors le choix de créer une copie exacte ou de ne prendre en compte que certains pa­ra­mètres. Nous vous pré­sen­tons les deux pro­cé­dures. Dans le premier cas, nous créons une liste d’employés pour un autre éta­blis­se­ment. Celle-ci doit donc être struc­tu­rée de manière identique, mais nécessite un nouveau nom. Voici le code à utiliser :

CREATE TABLE Nouvelle_liste_d'employés
AS
SELECT *
FROM Employés;
sql

L’as­té­risque indique au système qu’il doit reprendre toutes les colonnes.

Dans l’exemple suivant, nous créons une liste de clients. Celle-ci doit également contenir les colonnes Iden­ti­fiant, Nom, Prénom, Adresse et Ville, mais la date de naissance ne doit pas être créée. Nous dé­fi­nis­sons donc exac­te­ment quelles colonnes doivent être copiées :

CREATE TABLE Liste de clients
AS
SELECT ID, Nom, Prénom, Adresse, Ville
FROM Employés;
sql

Commandes si­mi­laires à SQL CREATE TABLE

Outre CREATE DATABASE déjà évoqué, il existe d’autres ins­truc­tions qui sont im­por­tantes pour tra­vail­ler avec SQL CREATE TABLE. Il s’agit notamment de SQL DELETE, qui permet de supprimer des entrées d’une table, et des alias SQL, qui per­met­tent de renommer tem­po­rai­re­ment des tables ou des colonnes.

Conseil

Votre serveur personnel : avec le serveur d’hé­ber­ge­ment SQL de IONOS, vous ne choi­sis­sez pas seulement entre MSSQL, MySQL et MariaDB, mais vous profitez également de nom­breuses fonc­tion­na­li­tés utiles. Trouvez la solution adaptée à vos besoins !

Aller au menu principal