MySQL est un logiciel de gestion de base de données open source, qui permet aux utilisateurs de stocker et organiser leurs données.
Ce tutoriel constitue une introduction simple à l’utilisation de ce service.
Comment installer MySQL sur Debian et Ubuntu
Si MySQL n’est pas installé sur votre VPS, vous pouvez le faire en une commande.
Debian :
apt-get install mysql-server
Ubuntu :
sudo apt-get install mysql-server
Comment accéder au shell MySQL
Une fois MySQL installé, vous pouvez accéder au shell MySQL grâce à la commande :
mysql -u root -p
Une fois le mot de passe root MySQL renseigné ( à ne pas confondre avec le mot de passe root SSH), vous pouvez commencer à créer votre base de données.
N’oubliez pas :
- Chaque commande MySQL se termine par un point virgule. Faute de quoi la commande ne sera pas exécutée.
- Il est toujours préférable d’écrire vos commandes en majuscule. Bien que cela ne soit pas obligatoire, le respect de cette convention vous évitera bien des erreurs.
Comment créer et supprimer une base de données
Vous pouvez rapidement lister les bases de données disponibles grâce à la commande :
SHOW DATABASES;
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.01 sec)
Créez une nouvelle base facilement :
CREATE DATABASE catalogue;
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | catalogue | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec)
Supprimez une base tout aussi facilement :
DROP DATABASE catalogue;
Comment accéder à ma base de données
Maintenant que nous avons créé une base, nous pouvons commencer à la remplir.
La première chose à faire est de créer une table.
Ouvrez la base nouvellement créée :
USE catalogue;
Visualisez les tables disponibles pour cette base :
SHOW TABLES;
ici rien a montrer. Voyons comment ajouter une table.
Comment créer et supprimer une table
Imaginez que vous désirez tenir à jour une liste de produits présent dans votre catalogue. Une base de données serait la bienvenu pour organiser cette liste.
Créons une nouvelle table MySQL :
CREATE TABLE produits ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nom VARCHAR(50), quantite INT(2), date DATE );
Voyons ce que cette commande cache :
- Elle crée une table nommée produits dans la base catalogue.
- La colonne id sera rempli automatiquement grâce à la directive AUTO_INCREMENT
- La colonne nom contiendra une chaîne de caractères (VARCHAR) limitée à 50 caractères.
- La colonne quantite sera un nombre entier (INT) de deux chiffres.
- La colonne date, sera sous la forme aaaa-mm-jj. Celle-ci servira à indiquer la date d’ajout du produit à notre liste.
Regardons à quoi ressemble notre table grâce à la commande SHOW :
mysql> SHOW TABLES; +---------------------+ | Tables_in_catalogue | +---------------------+ | produits | +---------------------+ 1 row in set (0.01 sec)
Pour afficher l’arborescence de la table :
mysql>DESCRIBE produits; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | nom | varchar(50) | YES | | NULL | | | quantite | int(2) | YES | | NULL | | | date | date | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.01 sec)
Comment ajouter des données dans ma table MySQL
Il est temps d’entrer dans le vif du sujet, comment insérer des données.
Le format de la commande à utiliser est le suivant :
INSERT INTO `produits` (`nom`,`quantite`,`date`) VALUES ('Clavier,10, NOW());
Query OK, 1 row affected (0.00 sec)
Ajoutons un peu plus de monde :
INSERT INTO `produits` (`nom`,`quantite`,`date`) VALUES ('Souris',50,NOW()); INSERT INTO `produits` (`nom`,`quantite`,`date`) VALUES ('Ecran',23,NOW()); INSERT INTO `produits` (`nom`,`quantité`,`date`) VALUES ('Cable USB',43,NOW());
Jetons un oeil au contenu :
mysql> SELECT * FROM produits; +----+------------+------------+-------------+ | id | nom | quantite | date | +----+------------+------------+-------------+ | 1 | Clavier | 10 | 2014-08-07 | | 2 | Souris | 50 | 2014-08-07 | | 3 | Ecran | 23 | 2014-08-07 | | 4 | Cable USB | 43 | 2014-08-07 | +----+------------+------------+-------------+ 4 rows in set (0.00 sec)
Comment mettre à jour une entrée
Maintenant que nous avons démarré notre liste, nous pouvons effectuer n’importe quel changement. Par exemple, comme passer la quantité de clavier de 10 à 12.
UPDATE `produits` SET `quantité` = '12' WHERE `produits`.`nom` ='Clavier';
Comment ajouter et supprimer une nouvelle colonne
Imaginons maintenant que nous souhaitions ajouter une colonne à notre listing. Par exemple un champ commentaire.
Rien de plus simple :
ALTER TABLE produits ADD commentaire VARCHAR(100);
La colonne commentaire sera ajoutée à la fin de la table. Si on désire l’insérer après le champ quantite par exemple, il est possible de le préciser de cette façon :
ALTER TABLE produits ADD commentaire VARCHAR(100) AFTER quantite;
Pour renommer la colonne commentaire en commentaires :
ALTER TABLE produits CHANGE commentaire commentaires VARCHAR(100);
Pour supprimer cette nouvelle colonne :
ALTER TABLE produits DROP commentaires;
Comment supprimer une ligne
Si vous le souhaitez vous pouvez supprimer une ligne complète grâce à la commande :
DELETE FROM produits WHERE nom="Ecran";
mysql> SELECT * FROM produits; +----+------------+------------+-------------+ | id | nom | quantite | date | +----+------------+------------+-------------+ | 1 | Clavier | 10 | 2014-08-07 | | 2 | Souris | 50 | 2014-08-07 | | 4 | Cable USB | 43 | 2014-08-07 | +----+------------+------------+-------------+ 4 rows in set (0.00 sec)
Remarquez que la colonne id n’a pas été altérée. Nous passons directement de l’id 2 à l’id 4.
INFO : Mysql est installé sur toutes nos formule VPS livrées avec ISPconfig.