Suppression et modification de données
Vous savez comment insérer des données, vous savez comment les sélectionner et les ordonner selon les critères de votre choix,
il est temps maintenant d'apprendre à les supprimer et les modifier !
Avant cela, un petit détour par le client mysqldump, qui vous permet de sauvegarder vos bases de données. Je ne voudrais en
effet pas vous lâcher dans le chapitre de suppression de données sans que vous n'ayez la possibilité de faire un backup de votre
base. Je vous connais, vous allez faire des bêtises, et vous direz encore que c'est de ma faute…
Sauvegarde d'une base de données
Il est bien utile de pouvoir sauvegarder facilement sa base de données, et très important de la sauvegarder régulièrement. Une
mauvaise manipulation (ou un méchant pirate
s'il s'agit d'un site web) et toutes les données peuvent disparaître. MySQL
dispose donc d'un outil spécialement dédié à la sauvegarde des données sous forme de fichiers texte : mysqldump.
Cette fonction de sauvegarde s'utilise à partir de la console. Vous devez donc être déconnectés de MySQL pour la lancer. Si c'est
votre cas, tapez simplement exit
Vous êtes maintenant dans la console Windows (ou Mac, ou Linux).
La manière classique de faire une sauvegarde d'une base de données est de taper la commande suivante :
Code : Console
mysqldump -u user -p --opt nom_de_la_base > sauvegarde.sql
Décortiquons cette commande.
mysqldump : il s'agit du client permettant de sauvegarder les bases. Rien de spécial à signaler.
--opt : c'est une option de mysqldump qui lance la commande avec une série de paramètres qui font que la
commande s'effectue très rapidement.
nom_de_la_base : vous l'avez sans doute deviné, c'est ici qu'il faut indiquer le nom de la base qu'on veut
sauvegarder.
> sauvegarde.sql : le signe > indique que l'on va donner la destination de ce qui va être généré par la commande
: sauvegarde.sql. Il s'agit du nom du fichier qui contiendra la sauvegarde de notre base. Vous pouvez bien sûr
l'appeler comme bon vous semble.
Lancez la commande suivante pour sauvegarder elevage dans votre dossier courant (c'est-à-dire le dossier dans lequel vous
étiez au moment de la connexion) :
Code : Console
mysqldump -u sdz -p --opt elevage > elevage_sauvegarde.sql
Puis, allez voir dans le dossier. Vous devriez y trouver un fichier elevage_sauvegarde.sql. Ouvrez-le avec un éditeur de
texte.
Vous pouvez voir nombre de commandes SQL qui servent à la création des tables de la base de données, ainsi qu'à l'insertion des
données. S'ajoutent à cela quelques commandes qui vont sélectionner le bon encodage, etc.
Vous pouvez bien entendu sauver votre fichier dans un autre dossier que celui où vous êtes au moment de lancer la
commande. Il suffit pour cela de préciser le chemin vers le dossier désiré. Ex :
C:\"Mes Documents"\mysql\sauvegardes\elevage_sauvegarde.sql au lieu de
elevage_sauvegarde.sql
La base de données est donc sauvegardée. Notez que la commande pour créer la base elle-même n'est pas sauvée. Donc, si vous
effacez votre base par mégarde, il vous faut d'abord recréer la base de données (avec CREATE DATABASE nom_base), puis
exécuter la commande suivante (dans la console) :
Code : Console
mysql nom_base < chemin_fichier_de_sauvegarde.sql
Partie 1 : MySQL et les bases du langage SQL
66/414
www.openclassrooms.com
Vous savez comment insérer des données, vous savez comment les sélectionner et les ordonner selon les critères de votre choix,
il est temps maintenant d'apprendre à les supprimer et les modifier !
Avant cela, un petit détour par le client mysqldump, qui vous permet de sauvegarder vos bases de données. Je ne voudrais en
effet pas vous lâcher dans le chapitre de suppression de données sans que vous n'ayez la possibilité de faire un backup de votre
base. Je vous connais, vous allez faire des bêtises, et vous direz encore que c'est de ma faute…
Sauvegarde d'une base de données
Il est bien utile de pouvoir sauvegarder facilement sa base de données, et très important de la sauvegarder régulièrement. Une
mauvaise manipulation (ou un méchant pirate
s'il s'agit d'un site web) et toutes les données peuvent disparaître. MySQL
dispose donc d'un outil spécialement dédié à la sauvegarde des données sous forme de fichiers texte : mysqldump.
Cette fonction de sauvegarde s'utilise à partir de la console. Vous devez donc être déconnectés de MySQL pour la lancer. Si c'est
votre cas, tapez simplement exit
Vous êtes maintenant dans la console Windows (ou Mac, ou Linux).
La manière classique de faire une sauvegarde d'une base de données est de taper la commande suivante :
Code : Console
mysqldump -u user -p --opt nom_de_la_base > sauvegarde.sql
Décortiquons cette commande.
mysqldump : il s'agit du client permettant de sauvegarder les bases. Rien de spécial à signaler.
--opt : c'est une option de mysqldump qui lance la commande avec une série de paramètres qui font que la
commande s'effectue très rapidement.
nom_de_la_base : vous l'avez sans doute deviné, c'est ici qu'il faut indiquer le nom de la base qu'on veut
sauvegarder.
> sauvegarde.sql : le signe > indique que l'on va donner la destination de ce qui va être généré par la commande
: sauvegarde.sql. Il s'agit du nom du fichier qui contiendra la sauvegarde de notre base. Vous pouvez bien sûr
l'appeler comme bon vous semble.
Lancez la commande suivante pour sauvegarder elevage dans votre dossier courant (c'est-à-dire le dossier dans lequel vous
étiez au moment de la connexion) :
Code : Console
mysqldump -u sdz -p --opt elevage > elevage_sauvegarde.sql
Puis, allez voir dans le dossier. Vous devriez y trouver un fichier elevage_sauvegarde.sql. Ouvrez-le avec un éditeur de
texte.
Vous pouvez voir nombre de commandes SQL qui servent à la création des tables de la base de données, ainsi qu'à l'insertion des
données. S'ajoutent à cela quelques commandes qui vont sélectionner le bon encodage, etc.
Vous pouvez bien entendu sauver votre fichier dans un autre dossier que celui où vous êtes au moment de lancer la
commande. Il suffit pour cela de préciser le chemin vers le dossier désiré. Ex :
C:\"Mes Documents"\mysql\sauvegardes\elevage_sauvegarde.sql au lieu de
elevage_sauvegarde.sql
La base de données est donc sauvegardée. Notez que la commande pour créer la base elle-même n'est pas sauvée. Donc, si vous
effacez votre base par mégarde, il vous faut d'abord recréer la base de données (avec CREATE DATABASE nom_base), puis
exécuter la commande suivante (dans la console) :
Code : Console
mysql nom_base < chemin_fichier_de_sauvegarde.sql
Partie 1 : MySQL et les bases du langage SQL
66/414
www.openclassrooms.com
