Concepts de base des bases de données
Qu'est-ce qu'une base de données ?
- Une base de données (DataBase) est un entrepôt pour stocker et gérer des données.
- Elle repose essentiellement sur un système de fichiers, où les données sont sauvegardées sur disque sous forme de fichiers.
Pourquoi utiliser une base de données ?
Comparée à d'autres méthodes de stockage, une base de données offre une gestion efficace permettant d'ajouter, de supprimer, de modifier et de rechercher des données avec facilité.
Introduction à MySQL
MySQL est un système de gestion de base de données relationnelle (SGBDR) populaire, apprécié pour sa robustesse et sa gratuité dans le développement d'applications web.
Configuration de base de MySQL
L'installation de MySQL nécessite de suivre les guides spécifiques au système d'exploitation. Une fois installé, le service peut être démarré ou arrêté via les outils système ou des commandes en ligne. MySQL requiert une authentification par nom d'utilisateur et mot de passe, avec un compte root par défaut.
Fondamentaux du langage SQL
Présentation de SQL
Le SQL (Structured Query Language) est un langage standardisé pour interagir avec les bases de données relationnelles. Il permet de requêter, de modifier et de gérer les données de manière uniforme à travers différents systèmes.
Syntaxe générale de SQL
- Les instructions SQL se terminent par un point-virgule (;) et peuvent être écrites sur plusieurs lignes.
- SQL est insensible à la casse, mais il est courant d'écrire les mots-clés en majuscules.
- Les commentaires utilisent le double tiret (--) pour les commentaires en ligne.
Classification des instructions SQL
Les instructions SQL se divisent en plusieurs catégories : DDL (Data Definition Language) pour la définition des structures, DML (Data Manipulation Language) pour la manipulation des données, et DQL (Data Query Language) pour les requêtes.
DDL : Manipulation des bases de données et des tables
Création d'une base de données
CREATE DATABASE ma_base_de_donnees;
USE ma_base_de_donnees;
Types de données courants dans MySQL
Les types incluent INT pour les entiers, VARCHAR pour les chaînes de longueur variable, DATE pour les dates, et DOUBLE pour les nombres décimaux. Le type CHAR est de longueur fixe, tandis que VARCHAR est de longueur variable, ce qui en fait un choix flexible pour les données de taille variable.
Création de tables
CREATE TABLE employes (
id_emp INT PRIMARY KEY,
nom_complet VARCHAR(50),
salaire DECIMAL(10, 2),
date_embauche DATE
);
Modification de tables
Pour renommer une table :
ALTER TABLE employes RENAME TO personnel;
Pour ajouter une colonne :
ALTER TABLE personnel ADD email VARCHAR(100);
DML : Manipulation des données dans les tables
Insertion de données
INSERT INTO personnel (id_emp, nom_complet, salaire, date_embauche) VALUES
(1, 'Jean Dupont', 45000.00, '2020-01-15'),
(2, 'Marie Curie', 52000.50, '2019-06-01');
Mise à jour de données
UPDATE personnel SET salaire = 47000.00 WHERE id_emp = 1;
Suppression de données
DELETE FROM personnel WHERE id_emp = 2;
-- Pour vider complètement une table :
TRUNCATE TABLE personnel;
DQL : Requêtes de données
Requêtes simples
SELECT nom_complet, salaire FROM personnel;
-- Renommer les colonnes avec des alias :
SELECT nom_complet AS 'Nom', salaire AS 'Rémunération' FROM personnel;
-- Éliminer les doublons :
SELECT DISTINCT salaire FROM personnel;
Requêtes conditionnelles
Utilisze WHERE pour filtrer les résultats :
SELECT * FROM personnel WHERE salaire > 50000.00;
-- Recherche avec BETWEEN :
SELECT * FROM personnel WHERE salaire BETWEEN 40000.00 AND 55000.00;
-- Recherche avec IN :
SELECT * FROM personnel WHERE id_emp IN (1, 3);
Requêtes floues avec LIKE
-- Recherche de noms contenant 'Dup' :
SELECT * FROM personnel WHERE nom_complet LIKE '%Dup%';
-- Recherche de noms commençant par 'M' :
SELECT * FROM personnel WHERE nom_complet LIKE 'M%';
-- Recherche avec un caractère unique :
SELECT * FROM personnel WHERE nom_complet LIKE '_ean%';
Gestion des valeurs NULL
SELECT * FROM personnel WHERE email IS NULL;
SELECT * FROM personnel WHERE email IS NOT NULL;