Bases de données
Lister les bases de données
SHOW DATABASES;
Créer une base de données
Il est important de vérifier avant d’entrer cette commande,
qu’une base de données avec le même nom n’existe pas avec la commande plus haut.
L’option [IF NOT EXIST]
peut être ajoutée à la commande ci-dessous pour éviter de recréer une base de données.
CREATE DATABASE base_de_donnees;
Sélectionner une base de données
USE base_de_donnees;
Supprimer une base de données
DROP DATABASE base_de_donnees;
Afficher les table d’une base de données
SHOW TABLES;
Tables d’une base de données
Attention, avant d’utiliser les commandes de cette section, il est nécessaire d’avoir sélectionné une base de données
Créer une table
CREATE TABLE table1 (colonne1 TYPE, colonne2 TYPE);
Type | Description |
---|---|
VARCHAR(n) |
chaîne de n caractères, où 0 ≤ n ≤ 65535 |
INT |
entier |
BOOL |
booléen |
DATETIME |
date et heure |
FLOAT |
nombre décimal |
Supprimer une table
DROP TABLE table1;
Afficher la structure d’une table
DESCRIBE base_de_donnees;
Entrées d’une table
Sélectionner des entrées
On peut sélectionner plusieurs champs avec une virgule,
tous les champs avec une étoile.
Le mot-clé DISTINCT
permet d’obtenir toutes les valeurs différente du champ colonne1
;
COUNT(colonne)
permet de compter le nombre d’entrées sélectionnées.
SELECT colonne1, colonne2 FROM table1;
SELECT * FROM table1;
SELECT DISTINCT colonne1 FROM table1;
SELECT COUNT(colonne1) FROM table1 WHERE colonne4<=10 AND (colonne2="truc" OR colonne3=4);
Ajouter une entrée
INSERT INTO table1 (colonne1, colonne2) VALUES ("valeur 1", 2);
INSERT INTO table1 VALUES ("valeur 1", 2, "toutes les colonnes devront être remplies")
Modifier des entrées
UPDATE table1 SET colonne2="truc", colonne3=2 WHERE colonne4>10;
Attention à ne pas oublier la condition sinon toutes les entrées seront modifiées !
Supprimer une entrée
DELETE FROM table1 WHERE colonne3=5 OR colonne4>25;
Il ne faut surtout pas oublier la condition ou bien toutes les entrées seront supprimées !
Utilisateurs
Créer un utilisateur
localhost
peut être remplacé par l’IP du client qui se connectera à la base de données avec cet utilisateur.
On peut également le remplacer par %
pour accepter toutes les adresses IP mais c’est moins sécurisé.
CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY 'mot de passe';
Donner des droits à un utilisateur
On peut remplacer table1
par *
pour que l’utilisateur ait les droits sur toutes les tables de la base de données en question.
GRANT ALL PRIVILEGES ON base_de_donnees.table1 TO 'utilisateur'@'localhost';
FLUSH PRIVILEGES; # Permet d'actualiser les privilèges
Supprimer un utilisateur
DROP USER 'utilisateur'@'localhost';
Commandes Linux
Restaurer une base de données
mysql -u utilisateur -p base_de_donnees < dumpfile.sql
Faire une sauvegarde d’une base de données
mysqldump -u utilisateur -p base_de_donnees > dumpfile.sql
Faire une sauvegarde de toutes les bases de données
mysqldump -u utilisateur -p --all-databases > dumpfile.sql