résumé: dans ce tutoriel, nous allons vous montrer comment utiliser L’instruction MySQL CREATE TABLE
pour créer une nouvelle table dans la base de données.
MySQL CREATE TABLE syntax
l’instructionCREATE TABLE
vous permet de créer une nouvelle table dans une base de données.
ce qui suit illustre la syntaxe de base de l’instructionCREATE TABLE
:
examinons la syntaxe plus en détail.,
tout d’abord, vous spécifiez le nom de la table que vous souhaitez créer après les mots-clésCREATE TABLE
. Le nom de la table doit être unique dans une base de données. Le IF NOT EXISTS
est facultatif. Il vous permet de vérifier si la table que vous créez existe déjà dans la base de données. Si tel est le cas, MySQL ignorera toute l’instruction et ne créera aucune nouvelle table.
Deuxièmement, vous spécifiez une liste de colonnes de la table dans la sectioncolumn_list
, les colonnes sont séparées par des virgules.,
Troisièmement, vous pouvez éventuellement spécifier le moteur de stockage pour la table dans la clauseENGINE
. Vous pouvez utiliser n’importe quel moteur de stockage tel que InnoDB et MyISAM. Si vous ne déclarez pas explicitement un moteur de stockage, MySQL utilisera InnoDB par défaut.
InnoDB est devenu le moteur de stockage par défaut depuis MySQL version 5.5. Le moteur de stockage InnoDB apporte de nombreux avantages d’un système de gestion de base de données relationnelle tels que la transaction ACID, l’intégrité référentielle et la récupération sur incident. Dans les versions précédentes, MySQL utilisait MyISAM comme moteur de stockage par défaut.,
l’exemple suivant illustre La syntaxe de définition d’une colonne:
Voici les détails:
- Le
column_name
spécifie le nom de la colonne. Chaque colonne a un type de données spécifique et une taille facultative, par exemple,VARCHAR(255)
- La contrainte
NOT NULL
garantit que la colonne ne contiendra pasNULL
. Outre la contrainteNOT NULL
, une colonne peut avoir une contrainte supplémentaire telle que CHECK, et UNIQUE. - Le
DEFAULT
spécifie une valeur par défaut pour la colonne., - Le
AUTO_INCREMENT
indique que la valeur de la colonne est incrémenté automatiquement à chaque fois qu’une nouvelle ligne est insérée dans la table. Chaque table a un maximum d’une colonneAUTO_INCREMENT
.
Après la liste des colonnes, vous pouvez définir des contraintes de table telles que UNIQUE, CHECK, PRIMARY KEY et FOREIGN KEY.
Par exemple, si vous souhaitez définir une colonne ou un groupe de colonnes de la clé primaire, vous utilisez la syntaxe suivante:
Code language: SQL (Structured Query Language) (sql)
MySQL instruction CREATE TABLE des exemples
prenons quelques exemples de création de nouvelles tables.,
1) CRÉER une TABLE MySQL exemple simple
L’instruction suivante crée une nouvelle table nommée tasks
:
Code language: SQL (Structured Query Language) (sql)
Les tâches de table comporte les colonnes suivantes:
- Le
task_id
est auto-incrémentée. Si vous utilisez l’instructionINSERT
pour insérer une nouvelle ligne dans la table sans spécifier de valeur pour la colonnetask_id
, MySQL générera automatiquement un entier séquentiel pour la colonnetask_id
à partir de 1., - la colonne
title
est une colonne de chaîne de caractères variable dont la longueur maximale est de 255. Cela signifie que vous ne pouvez pas insérer une chaîne dont la longueur est supérieure à 255 dans cette colonne. La baliseNOT NULL
contrainte indique que la colonne n’accepte pas deNULL
. En d’autres termes, vous devez fournir une valeur non nulle lorsque vous insérez ou mettez à jour cette colonne. - Le
start_date
etdue_date
sontDATE
colonnes., Parce que ces colonnes n’ont pas la baliseNOT NULL
contrainte, ils peuvent stockerNULL
. La colonne start_date a une valeur par défaut de la date actuelle. En d’autres termes, si vous ne fournissez pas de valeur pour la colonne start_date lorsque vous insérez une nouvelle ligne, la colonne start_date prendra la date actuelle du serveur de base de données. - Le
status
etpriority
sont lesTINYINT
colonnes qui ne permettent pas deNULL
., - Le
description
colonne est unTEXT
colonne qui accepteNULL
. - Le
created_at
est unTIMESTAMP
colonne qui accepte l’heure actuelle comme valeur par défaut.
Le task_id
est la colonne de la clé primaire de la balise tasks
tableau. Cela signifie que les valeurs de la colonnetask_id
identifieront de manière unique les lignes de la table.,
Une fois que vous avez exécuté l’instructionCREATE TABLE
pour créer la tabletasks
, vous pouvez afficher sa structure en utilisant l’instructionDESCRIBE
:
Code language: SQL (Structured Query Language) (sql)
Cette image montre le diagramme de base de données de latasks
table:
2) MySQL crée une table avec une clé étrangère exemple de clé primaire
supposons que chaque tâche ait une liste de contrôle ou une liste de tâches., Pour stocker des listes de tâches, vous pouvez créer une nouvelle table nommée checklists
comme suit:
La table checklists
a une clé primaire est composée de deux colonnes., Par conséquent, nous avons utilisé une contrainte de table pour définir la clé primaire:
Code language: SQL (Structured Query Language) (sql)
de plus, la task_id
est la colonne de clé étrangère qui fait référence à la task_id
colonne de la table tasks
, nous avons utilisé une contrainte de clé étrangère pour établir cette relation:
Vous en apprendrez plus sur la contrainte de clé étrangère dans le tutoriel suivant.,
Cette image illustre la balise checklists
table et de ses relations avec la balise tasks
table:
Dans ce tutoriel, vous avez appris comment utiliser MySQL CREATE TABLE
instruction pour créer une nouvelle table dans la base de données.
- ce tutoriel a Été utile?
- Ouinon