Ecrire des données dans une base de données MySQL

publicité
Ecrire des données dans une base de données MySQL
Dans les 2 précédents chapitres, nous avons vu comme lire et trier des données grâce au langage SQL. Dans ce chapitre, nous
allons voir comment écrire des données dans une base de données.
Ben, il suffit d'utiliser PhphMyAdmin ...
Et non ! Pour le créateur du site, il peut utiliser PhpMyAdmin mais pas pour un utilisateur du site. Si vous donnez tous les codes
pour rentrer dans l'administration de la base de données à tous les utilisateurs, beaucoup de bêtises pourraient être faites
comme changer le nom du champs, la taille ...
Par exemple, nous allons ajouter des livres dans notre table livre. Si, j'ouvre ma base de données, tout le monde pourra
changer, le nom du livre, le prix ... et c'est pas le but . Par contre, je souhaite tout de même enregistré de nouveaux livres dans
ma base de données. Comment vais-je m'y prendre ?
Tout simplement, grâce à une commande SQL nommée INSERT INTO ... VALUES. Voici la requête qui permet d'insérer un
enregistrement dans une table :
INSERT INTO livre(Identifiant, titre, auteur, prix) VALUES (' ', 'Le vieux homme et la mer', 'Ernest Hemingway', '38')
La commande INSERT INTO permet d'insérer un enregistrement dans la table livre.
Saisissez entre parenthèses le nom des champs
Saisissez VALUES puis insérez entre parenthèses les valeurs à insérer dans l'ordre des champs que vous avez
indiqué.
● Vous pouvez remarquer que le champ Identifiant est vide et c'est normal puisqu'on l'a définit en auto_increment lors de la
création de la table.
●
●
●
ATTENTION : le plus important c'est de respecter l'ordre des champs.
Maintenant, nous allons voir le script PHP, qui insére un enregistrement dans la table :
<?php
mysql_connect("localhost", "root", ""); // Connesion à la base de données
mysql_select_db("toto"); // Sélection de la base de données
// Insertion d'un enregistrement dans la table livre
mysql_query ("INSERT INTO livre (Identifiant, titre, auteur, prix) VALUES ('', 'Le vieil homme e
mysql_close(); // On oubli pas de déconnecter la base de données
?>
Regardez votre base de données Toto et surtout la table livre. Normalement, vous avez une nouvelle entrée dans la table
comme le montre l'image suivante :
Le code précédent n'affiche rien sur la page internet mais ajoute seulement une entrée dans la table. Par contre, si vous voulez
afficher la nouvelle entrée, il faudra utiliser la commande SELECT que l'on a vu dans les chapitres précédent.
Modifier des données dans une base de données :
Lors de la saisi du dernier enregistrement, vous vous apercevez que le prix du livre "Le tour du monde en 80 jours" n'est pas
de 35 € mais de 32. Nous allons corriger ce prix grâce à la commande UPDATE de SQL qui permet de mettre à jour une ou
plusieurs données dans une table. Voici la commande SQL, permettant de modifier une donnée :
UPDATE livre SET prix='32' WHERE identifiant='3'
●
●
●
●
Le mot clé UPDATE permet de modifier une donnée
Ensuite, on va choisir la table à modifier. Ici, c'est la table livre que l'on veut modifier
Le mot clé SET permet de choisir les champs à modifier. Ici, le champs à modifier c'est le prix
Enfin, le mot-clé WHERE est tout simplement indispensable. Ca nous permet de dire à MySQL quelle entrée il doit
modifier
Maintenant, nous allons voir le script PHP qui permet de modifier cette entrée de la table :
<?php
mysql_connect("localhost", "root", ""); // Connesion à la base de données
mysql_select_db("toto"); // Sélection de la base de données
// Insertion d'un enregistrement dans la table livre
mysql_query ("UPDATE livre SET prix='32' WHERE identifiant='3' ");
mysql_close(); // On oubli pas de déconnecter la base de données
?>
Ce code n'affiche toujours rien mais modifie seulement le prix du 3ème enregistrement comme le montre l'image suivante :
Supprimer des données dans une table MySQL :
Pour supprimer une entrée d'une table, nous allons utiliser une commande SQL nommée DELETE. Pour notre exemple, nous
allons supprimer le livre "Les 10 petits nègres", soit l'identifiant numéro 2. Voici le code SQL qui permet de supprimer un
enregistrement :
DELETE FROM livre WHERE identifiant='2'
●
●
La commande DELETE FROM va supprimer un enregistrement de la table livre
La commande WHERE sélectionne l'ID du livre a supprimer
Voici, le script PHP permettant de supprimer cette entrée de la table livre :
<?php
mysql_connect("localhost", "root", ""); // Connesion à la base de données
mysql_select_db("toto"); // Sélection de la base de données
// Insertion d'un enregistrement dans la table livre
mysql_query ("DELETE FROM livre WHERE identifiant='2' ");
mysql_close(); // On oubli pas de déconnecter la base de données
?>
Comme pour la modification et l'ajout de données, ce code n'affiche rien mais supprime une entrée de la table comme le montre
l'image suivante :
Regardez bien, l'identifiant numéro 2 a été supprimé de la table livre.
Voilà, ce cours est terminé. Dans le prochain chapitre, nous allons voir l'utilisation de la commande include en php.
Téléchargement