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

Liste complète

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