Création d'une table
La création d'une table est une tâche fondamentale. L'instruction CREATE TABLE permet de définir le nom de la table, ses colonnes et leurs types.
CREATE TABLE employes (
id INT AUTO_INCREMENT PRIMARY KEY,
prenom VARCHAR(50) NOT NULL,
nom VARCHAR(50) NOT NULL,
courriel VARCHAR(100),
date_embauche DATE,
titre_poste VARCHAR(50)
);
Modification de la structure d'une table
Les besoins évoluent, il peut être nécessaire de modifier la structure d'une table via ALTER TABLE.
Ajout d'une colonne
ALTER TABLE employes ADD COLUMN salaire DECIMAL(10, 2);
Modification d'une colonne
ALTER TABLE employes MODIFY COLUMN courriel VARCHAR(150);
Suppression d'une colonne
ALTER TABLE employes DROP COLUMN titre_poste;
Interrogation de la structure d'une table
Utilisez DESCRIBE ou SHOW COLUMNS pour visualiser la structure.
DESCRIBE employes;
SHOW COLUMNS FROM employes;
Insertion de données
L'insertion de données est une opération centrale. INSERT INTO permet des insertions uni- ou multi-lignes.
Insertion d'une seule ligne
INSERT INTO employes (prenom, nom, courriel, date_embauche)
VALUES ('Jean', 'Dupont', 'jean.dupont@exemple.com', '2022-01-15');
Insertion de plusieurs lignes
INSERT INTO employes (prenom, nom, courriel, date_embauche)
VALUES
('Jeanne', 'Dupont', 'jeanne.dupont@exemple.com', '2022-01-16'),
('Robert', 'Martin', 'robert.martin@exemple.com', '2022-01-17');
Interrogation de données
La requête de données est l'opération la plus courante. SELECT permet des interrogations simples et complexes.
Requête simple
SELECT * FROM employes;
Requête avec condition
SELECT prenom, nom FROM employes WHERE date_embauche > '2022-01-15';
Requête triée
SELECT * FROM employes ORDER BY date_embauche DESC;
Requête avec regroupement
SELECT titre_poste, COUNT(*) FROM employes GROUP BY titre_poste;
Mise à jour de données
L'instruction UPDATE permet de modifier des données.
UPDATE employes SET courriel = 'jean.nouveau@exemple.com' WHERE id = 1;
Suppression de données
La suppression utilise DELETE. Soyez prudent pour éviter des pertes accidentelles.
DELETE FROM employes WHERE id = 1;
Suppression d'une table
DROP TABLE supprime la structure et toutes les données.
DROP TABLE employes;
Création d'une vue
Une vue est une table virtuelle issue d'une requête. CREATE VIEW permet de la créer.
CREATE VIEW noms_employes AS
SELECT prenom, nom FROM employes;
Contrôle des transactions
Les transactions garantissent l'intégrité des opérations. Elles sont gérées par BEGIN, COMMIT et ROLLBACK.
Début d'une transaction
BEGIN;
Validation
COMMIT;
Annulation
ROLLBACK;
Opérations sur les index
Les index accélèrent les recherchse. Créez-les avec CREATE INDEX.
CREATE INDEX idx_courriel ON employes (courriel);
Contrainte de clé étrangère
Les clés étrangères assurent l'intégrité référentielle. Elles s'ajoutent lors de la création ou modification d'une table.
CREATE TABLE commandes (
commande_id INT AUTO_INCREMENT PRIMARY KEY,
date_commande DATE,
client_id INT,
FOREIGN KEY (client_id) REFERENCES employes(id)
);
Sauvegarde et restauration d'une table
Pour la sécurité, effectuez des sauvegardes régulières avec mysqldump.
Sauvegarde
mysqldump -u utilisateur -p nom_base employes > sauvegarde_employes.sql
Restauration
mysql -u utilisateur -p nom_base < sauvegarde_employes.sql