Opérations sur les tables MySQL

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

Étiquettes: MySQL SQL crud base de données Administration de bases de données

Publié le 3 juillet à 07h48