Plusieurs fois, vous devrez peut-être créer une table dans MySQL. Voici comment créer une table à l'aide de la commande MySQL CREATE TABLE.
Comment créer une table dans MySQL
Voici les étapes pour créer une table dans MySQL.
MySQL CREATE TABLE vous permet de créer une nouvelle table dans la base de données. Voici la syntaxe.
CREATE TABLE [IF NOT EXISTS] table_name( column_1_definition, column_2_definition, ..., table_constraints ) ENGINE=storage_engine;
Dans la requête de création de table ci-dessus, table_name est le nom de votre nouvelle table. IF NOT EXISTS est un argument facultatif qui vérifie si la table existe déjà et crée une table uniquement si elle n'existe pas.
column_1_definition , colonne_2_definition , … sont différentes définitions de colonne, chacune composée d'un nom de colonne et d'un type de données.
table_contraints sont différents types de contraintes facultatives telles que la contrainte de clé étrangère, la contrainte de clé primaire, etc.
Vous pouvez éventuellement spécifier le moteur de stockage en tant que variable ENGINE. MySQL prend en charge les moteurs de stockage InnoDB et MyISAM. Si vous ne spécifiez pas cette variable, MySQL utilisera InnoDB par défaut.
Lecture bonus :Colonne MySQL Alter Table
Exemples MySQL CREATE TABLE
Voici la requête SQL pour créer une table dans MySQL. Nous allons créer une commande table pour stocker la liste des commandes
CREATE TABLE IF NOT EXISTS orders ( id INT AUTO_INCREMENT PRIMARY KEY, product_name VARCHAR(255) NOT NULL, order_date DATE, price INT NOT NULL, description TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=INNODB; mysql> describe orders; +--------------+--------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | product_name | varchar(255) | NO | | NULL | | | order_date | date | YES | | NULL | | | price | int(11) | NO | | NULL | | | description | text | YES | | NULL | | | created_at | timestamp | NO | | CURRENT_TIMESTAMP | | +--------------+--------------+------+-----+-------------------+----------------+
Dans la requête ci-dessus,
identifiant est la clé primaire de notre table avec la contrainte AUTO INCREMENT. Ainsi, lorsque vous ajoutez une nouvelle ligne à cette table, MySQL incrémente automatiquement et remplit automatiquement cette colonne pour la nouvelle ligne.
nom_du_produit est une colonne VARCHAR (chaîne) pour stocker le nom du produit
date_commande est une colonne de date. Comme il n'a aucune contrainte, il peut même avoir des valeurs NULL.
prix est une colonne entière avec une contrainte NOT NULL. Il ne peut donc pas avoir de valeurs nulles.
created_at est une colonne d'horodatage avec CURRENT_TIMESTAMP comme valeur par défaut.
Nous avons choisi d'utiliser le moteur de stockage INNODB pour cette table.
Lecture bonus :MySQL AJOUTER UNE COLONNE
MySQL CREATE TABLE avec FOREIGN KEY
Créons une nouvelle table dans MySQL avec la contrainte FOREIGN KEY. Nous allons créer une nouvelle table order_status avec une clé étrangère order_id qui fait référence à la clé primaire des commandes tableau.
mysql> CREATE TABLE IF NOT EXISTS order_status ( status_id INT AUTO_INCREMENT, order_id INT, status VARCHAR(255) NOT NULL, is_completed BOOLEAN NOT NULL DEFAULT FALSE, PRIMARY KEY (status_id), FOREIGN KEY (order_id) REFERENCES orders (id) ON UPDATE RESTRICT ON DELETE CASCADE ); mysql> describe order_status; +--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+----------------+ | status_id | int(11) | NO | PRI | NULL | auto_increment | | order_id | int(11) | YES | MUL | NULL | | | status | varchar(255) | NO | | NULL | | | is_completed | tinyint(1) | NO | | 0 | | +--------------+--------------+------+-----+---------+----------------+
Dans la requête ci-dessus, nous ajoutons une contrainte de clé étrangère à l'aide de MySQL ADD FOREIGN KEY
J'espère que vous pouvez maintenant créer facilement une table dans MySQL.
Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !