Recherche de site Web

Comment créer une table dans MySQL et MariaDB sur un serveur cloud Ubuntu


Statut : Obsolète

Cet article couvre une version d'Ubuntu qui n'est plus prise en charge. Si vous gérez actuellement un serveur exécutant Ubuntu 12.04, nous vous recommandons vivement de mettre à niveau ou de migrer vers une version d'Ubuntu prise en charge :

  • Mettez à niveau vers Ubuntu 14.04.
  • Mettre à niveau d'Ubuntu 14.04 vers Ubuntu 16.04
  • Migrer les données du serveur vers une version prise en charge

Raison : Ubuntu 12.04 a atteint sa fin de vie (EOL) le 28 avril 2017 et ne reçoit plus de correctifs de sécurité ni de mises à jour. Ce guide n'est plus maintenu.

Voir plutôt :
Ce guide peut encore être utile comme référence, mais il peut ne pas fonctionner sur d'autres versions d'Ubuntu. Si disponible, nous recommandons fortement d'utiliser un guide rédigé pour la version d'Ubuntu que vous utilisez. Vous pouvez utiliser la fonction de recherche en haut de la page pour trouver une version plus récente.

Qu'est-ce que MySQL et MariaDB

MySQL et MariaDB sont deux systèmes de bases de données populaires qui utilisent le langage SQL. De nombreuses applications sur Ubuntu utilisent MySQL ou MariaDB pour gérer leurs informations.

Dans cet article, nous allons expliquer comment créer des tables dans l'interface MySQL ou MariaDB. Nous effectuerons ces tâches sur un serveur VPS Ubuntu 12.04, mais la plupart des commandes devraient être les mêmes pour n'importe quelle machine Ubuntu.

Comment installer MySQL et MariaDB sur Ubuntu

MySQL et MariaDB ont la même syntaxe de commande, donc l'un ou l'autre système de base de données fonctionnera pour ce guide.

Pour installer MySQL sur Ubuntu, utilisez la commande suivante :

sudo apt-get install mysql-server

Pour installer MariaDB sur Ubuntu 12.04, tapez ce qui suit dans le terminal :

sudo apt-get update
sudo apt-get install python-software-properties
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://repo.maxindo.net.id/mariadb/repo/5.5/ubuntu precise main'
sudo apt-get update
sudo apt-get install mariadb-server

Pour plus d'informations sur la façon d'installer MySQL sur Ubuntu, suivez ce guide.

Créer une base de données dans MySQL et MariaDB

Avant de pouvoir examiner les tables, nous devons configurer un environnement de base de données initial dans MySQL.

Connectez-vous à MySQL ou MariaDB en utilisant la commande suivante :

mysql -u root -p

Saisissez le mot de passe que vous avez configuré lors de l'installation pour continuer.

Nous allons créer une base de données pour apprendre appelée « playground ». Créez la base de données avec la commande suivante :

CREATE DATABASE playground;

Nous passerons à la nouvelle base de données avec la commande suivante :

USE playground;

Nous sommes maintenant prêts à commencer à apprendre sur les tables.

Comment créer une table dans MySQL et MariaDB

Nous avons nommé notre base de données « playground », alors maintenant créons une table dans cette base de données qui décrit l'équipement trouvé dans une aire de jeux.

La syntaxe de création de table suit cette convention :

CREATE TABLE [IF NOT EXISTS] name_of_table (list_of_table_columns) [engine=database_engine]

Les sections entre crochets ("[" et "]") sont facultatives. L'option "IF NOT EXISTS" force l'annulation de la création de la table s'il existe déjà une table portant le même nom. Il est important d'utiliser cette option pour éviter de recevoir une erreur si la table est déjà créée.

La section "engine=database_engine" sert à choisir un type spécifique de table pour optimiser la gestion de vos informations. Cela dépasse le cadre de cet article et une bonne option par défaut (InnoDB) est sélectionnée si cette option est omise.

Nous expliquerons les différents champs nécessaires dans la section des colonnes dans un instant, mais pour l'instant, créons notre tableau :

CREATE TABLE IF NOT EXISTS equipment (
    equip_id int(5) NOT NULL AUTO_INCREMENT,
    type varchar(50) DEFAULT NULL,
    install_date DATE DEFAULT NULL,
    color varchar(20) DEFAULT NULL,
    working bool DEFAULT NULL,
    location varchar(250) DEFAULT NULL,
    PRIMARY KEY(equip_id)
    );
Query OK, 0 rows affected (0.03 sec)

Définir les colonnes

Pour voir ce que nous avons accompli, utilisez la commande suivante pour afficher les colonnes de notre nouvelle table :

show columns in equipment;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          | |+--------------+--------------+------+-----+---------+----------------+
| equip_id     | int(5)       | NO   | PRI | NULL    | auto_increment |
| type         | varchar(50)  | YES  |     | NULL    |                |
| install_date | date         | YES  |     | NULL    |                |
| color        | varchar(20)  | YES  |     | NULL    |                |
| working      | tinyint(1)   | YES  |     | NULL    |                |
| location     | varchar(250) | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

Les résultats nous donnent un aperçu des champs nécessaires pour définir une colonne. Chaque description de colonne dans la commande de création de table est séparée par une virgule et suit cette convention :

Column_Name Data_Type[(size_of_data)] [NULL or NOT NULL] [DEFAULT default_value] [AUTO_INCREMENT]

Voici les valeurs de chaque définition de colonne :

<ul>
<li><strong>Column Name</strong>: Describes the attribute being assigned.  For instance, our first column is called "equip_id" because it will hold the unique ID number associated with each piece of equipment.</li>

<li><strong>Data Type</strong>: Specifies the type of data the column will hold.  Can be any of MySQL's data types.  For instance, "int" specifies that only integer values will be accepted, while "varchar" is used to hold string values.  There are many data types, but these are outside of the scope of this article.

<em>Note: Most data types need a size value in parentheses to specify the maximum amount of space needed to hold the values for that field.</em></li>

<li><strong>Null</strong>: Defines whether null is a valid value for that field.  Can be "null" or "not null".</li>

<li><strong>Default Value</strong>: Sets the initial value of all newly created records that do no specify a value. The "default" keyword is followed by the value.</li>

<li><strong>auto_increment</strong>: MySQL will handle the sequential numbering internally of any column marked with this option, in order to provide a unique value for each record.</li>
</ul>

Enfin, avant de fermer les déclarations de colonnes, vous devez spécifier quelles colonnes utiliser comme clé primaire en tapant "PRIMARY KEY (colonnes_à_utiliser_comme_clés_primaires)".

Nous avons utilisé notre colonne « equip_id » comme clé primaire parce que l'option « auto_increment » garantit que la valeur est unique, ce qui est une exigence pour une clé primaire.

Comment insérer des données dans une table MySQL ou MariaDB

Insérons un enregistrement dans notre table. Pour ce faire, nous utiliserons la syntaxe suivante :

INSERT INTO table_name (field1, field2, ...) VALUES (value1, value2, ...);

Chaque valeur de chaîne doit être placée entre guillemets. Chaque colonne avec "auto_increment" définie n'a pas besoin de valeur, car la base de données lui fournira le numéro séquentiel suivant.

Nous pouvons ajouter un toboggan à notre tableau des équipements de terrain de jeu comme ceci :

INSERT INTO equipment (type, install_date, color, working, location)
VALUES
("Slide", Now(), "blue", 1, "Southwest Corner");

Nous avons utilisé une fonction spéciale appelée "Now()" qui remplit la colonne de date avec la date actuelle.

Pour voir les informations, interrogez la table. L'astérisque (*) est un caractère générique spécial qui correspond à tout. Cette requête sélectionne tout dans la table equipment :

SELECT * FROM equipment;
+----------+-------+--------------+-------+---------+------------------+
| equip_id | type  | install_date | color | working | location         |
+----------+-------+--------------+-------+---------+------------------+
|        1 | Slide | 2013-07-26   | blue  |       1 | Southwest Corner |
+----------+-------+--------------+-------+---------+------------------+
1 row in set (0.00 sec)

Ajoutons une autre entrée :

INSERT INTO equipment (type, install_date, color, working, location)
VALUES
("Swing", Now(), "green", 1, "Northwest Corner");

Nous pouvons voir que nos nouvelles données sont présentes dans le tableau :

SELECT * FROM equipment;
+----------+-------+--------------+-------+---------+------------------+
| equip_id | type  | install_date | color | working | location         |
+----------+-------+--------------+-------+---------+------------------+
|        1 | Slide | 2013-07-26   | blue  |       1 | Southwest Corner |
|        2 | Swing | 2013-07-26   | green |       1 | Northwest Corner |
+----------+-------+--------------+-------+---------+------------------+
2 rows in set (0.00 sec)

Comment supprimer des tables dans MySQL et MariaDB

Pour supprimer une table, nous pouvons utiliser la syntaxe suivante :

DROP TABLE table_name;

Soyez très prudent avec cette commande, car une fois la table supprimée, les données qu'elle contient ne peuvent pas être récupérées.

Tout d'abord, voyons notre table actuelle afin que nous puissions établir à quoi ressemble la commande « show tables » :

SHOW tables;
+----------------------+
| Tables_in_playground |
+----------------------+
| equipment            |
+----------------------+
1 row in set (0.00 sec)

Supprimons notre table d'équipement :

DROP TABLE equipment;

Et maintenant, vérifiez à nouveau la liste des tables « playground » :

SHOW tables;
Empty set (0.00 sec)

Nous n'avons plus aucune table dans la base de données « playground », donc l'opération a réussi.

Conclusion

Vous devriez maintenant être à l'aise pour effectuer des opérations de base sur une table.

Ce sont des compétences fondamentales nécessaires pour gérer MySQL ou MariaDB. Se familiariser avec elles dès maintenant sera profitable lorsque vous vous plongerez dans d'autres domaines de la gestion de bases de données.