Dans MySQL, vous pouvez créer des tables via l'interface graphique ou en exécutant du code SQL. Voici un aperçu des deux méthodes.
Maintenant que nous avons créé notre base de données, créons quelques tables.
Créer des tableaux via l'interface graphique
Une façon de créer une table est via l'interface graphique de MySQL Workbench. C'est une option facile pour ceux qui préfèrent les interfaces utilisateur graphiques.
Même si vous commencez par utiliser l'interface graphique, je vous recommande de vous familiariser avec la création de tables par programmation à l'aide de CREATE TABLE
déclaration.
Le CREATE TABLE
Déclaration
Le CREATE TABLE
L'instruction fait exactement ce que son nom l'indique :elle crée une table.
Cependant, vous devez fournir des informations sur la table que vous souhaitez que MySQL crée. Par exemple, le nom de la table, les noms des colonnes et leurs types de données, les valeurs par défaut, les contraintes, etc.
Voici l'exemple que nous avons utilisé dans la page précédente :
CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);
Cela crée une table appelée Fruit
qui contient deux colonnes :FruitName
et DateEntered
.
Le FruitName
la colonne utilise un type de données VARCHAR(20)
, ce qui signifie qu'il accepte les données qui sont un VARCHAR
(chaîne de longueur variable) jusqu'à 20 caractères.
Le DateEntered
la colonne utilise un type de données de DATETIME
ce qui signifie que la colonne accepte le format DATETIME (une date et une heure) au format suivant YYYY-MM-DD HH:MM:SS
.
Vous pouvez spécifier qu'une colonne doit toujours contenir une valeur (qu'elle ne doit pas être "nulle"). Pour ce faire, incluez NOT NULL
dans les spécifications de cette colonne (exemple ci-dessous).
Si vous essayez d'insérer des données qui ne sont pas dans le format spécifié pour cette colonne, vous recevrez une erreur.
Créer plusieurs tableaux
Pour créer plusieurs tables, il vous suffit d'ajouter un CREATE TABLE
déclaration pour chaque table que vous devez créer.
CREATE TABLE table_1 (...); CREATE TABLE table_2 (...);
Exemple
Nous avons précédemment créé une base de données vide appelée "FruitShop". Mais nous n'avons créé aucune table à l'époque. Mettons à jour le script afin qu'il crée une base de données et deux tables. Nous ajouterons d'autres éléments au code.
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE Units ( UnitId TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, UnitName VARCHAR(10) NOT NULL, DateEntered DATETIME NOT NULL, DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (UnitId) )ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE Fruit ( FruitId SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, FruitName VARCHAR(45) NOT NULL, Inventory SMALLINT UNSIGNED NOT NULL, UnitId TINYINT UNSIGNED NOT NULL, DateEntered DATETIME NOT NULL, DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (FruitId), CONSTRAINT fkFruitUnits FOREIGN KEY (UnitId) REFERENCES Units (UnitId) ON DELETE RESTRICT ON UPDATE CASCADE )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Exécutez le script ci-dessus, puis actualisez la colonne de gauche de MySQL Workbench. Vous devriez voir votre FruitShop nouvellement créé base de données répertoriée sous SCHEMAS onglet.
Développez les Tableaux node et vous verrez les tables que vous venez de créer :
Vous pouvez également développer chaque tableau pour voir ses colonnes et tout autre objet que vous avez créé pour ce tableau.
Afficher les informations du tableau par programmation
Vous pouvez également afficher les informations de table par programmation. Autrement dit, en entrant une commande SQL pour afficher les informations dont vous avez besoin.
Dans l'exemple suivant, nous définissons la base de données par défaut sur FruitShop
en utilisant USE FruitShop
. Nous demandons ensuite à MySQL d'afficher toutes les tables de la base de données par défaut (en utilisant SHOW TABLES
):
USE FruitShop; SHOW TABLES;
Vous pouvez également connaître la structure d'une table donnée en utilisant la commande suivante (remplacez simplement le nom de la table par la table dont vous avez besoin de la structure) :
DESCRIBE Fruit;
Voici le résultat de cette commande sur notre base de données :