Introduction aux bases de données et à MySQL
Une base de données est un système organisé pour stocker et gérer des données. Les bases de données relationnelles, comme MySQL, utilisent le langage SQL pour interagir avec les données.
MySQL est un système de gestion de base de données relationnelle (SGBDR) open source largement utilisé dans les appilcations web. Il se compose d'un serveur et d'un client qui communiquent pour effectuer des opérations sur les données.
Installation de MySQL
Pour utiliser MySQL, vous devez installer le serveur et le client. Le processus d'installation varie selon le système d'exploitation :
- Sur Windows : consultez la documentation officielle pour les étapes d'installation.
- Sur Linux : utilisez le gestionnaire de paquets pour installer les packages MySQL.
Après l'installation, démarrez le service MySQL et configurez l'accès.
Opérations de base avec MySQL
Connexion à la base de données
mysql -u nom_utilisateur -p
Pour quitter, utilisez la commande QUIT ou Ctrl+D.
Gestion des bases de données
Afficher les bases de données :
SHOW DATABASES;
Créer une nouvelle base de données avec encodage UTF-8 :
CREATE DATABASE ma_base DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Sélectionner une base de données :
USE ma_base;
Gestion des utilisateurs
Créer un utilisateur :
CREATE USER 'nouvel_user'@'localhost' IDENTIFIED BY 'mot_de_passe';
Supprimer un utilisateur :
DROP USER 'nouvel_user'@'localhost';
Gestion des permissions
Autorisations courantes : ALL PRIVILEGES, SELECT, INSERT, etc.
Accorder des permissions :
GRANT SELECT, INSERT ON ma_base.* TO 'nouvel_user'@'localhost';
Révoquer des permissions :
REVOKE INSERT ON ma_base.* FROM 'nouvel_user'@'localhost';
Manipulation des tables
Création de tables
CREATE TABLE utilisateurs (
id INT NOT NULL AUTO_INCREMENT,
nom VARCHAR(100) NOT NULL,
email VARCHAR(255),
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Modification de tables
Ajouter une colonne :
ALTER TABLE utilisateurs ADD COLUMN age INT;
Supprimer une colonne :
ALTER TABLE utilisateurs DROP COLUMN age;
Types de données
Les types courants incluent :
INTpour les entiers.VARCHAR(n)pour les chaînes de longueur variable.DATEpour les dates.
Opérations sur le contenu des tables
Ajout de données
INSERT INTO utilisateurs (nom, email) VALUES ('Alice', 'alice@exemple.com');
Modification de données
UPDATE utilisateurs SET email = 'nouvel_email@exemple.com' WHERE id = 1;
Suppression de données
DELETE FROM utilisateurs WHERE id = 1;
Requêtes de sélection
Sélectionner des données avec conditions :
SELECT * FROM utilisateurs WHERE nom LIKE 'A%';
Utiliser le tri et la pagination :
SELECT * FROM utilisateurs ORDER BY nom ASC LIMIT 10;
Ressources et outils pour MySQL
Voici une liste d'outils utiles pour travailler avec MySQL :
- Outils d'analyse : Anemometer pour le monitoring des requêtes lentes.
- Sauvegarde : MyDumper pour des sauvegardes parallèles.
- Interfaces graphiques : MySQL Workbench ou phpMyAdmin.
- Haute disponibilité : Galera Cluster pour les solutions multi-maîtres.
- Proxys : ProxySQL pour le routage des requêtes.