PhpMyAdmin
Nous allons maintenant faire des manipulations sur une base de données.
Vous allez "voir" ce que peuvent contenir une base et ses tables.
Pour cela, nous allons nous servir d'un système très pratique que beaucoup de sites utilisent : PhpMyAdmin.
PhpMyAdmin est livré avec WAMP, vous allez donc pouvoir l'utiliser tout de suite.
La quasi-totalité des hébergeurs permettent d'utiliser PhpMyAdmin.
Renseignez-vous auprès de votre hébergeur pour savoir comment y
accéder. Par exemple si vous êtes chez Free, l'adresse de PhpMyAdmin
est
http://sql.free.fr. Vous aurez très certainement besoin d'un login et d'un mot de passe.
Concrètement, PhpMyAdmin est un ensemble
de pages PHP. Ce n'est pas un programme, mais des pages PHP toutes
prêtes dont on se sert pour gagner du temps.
On commence donc simplement : on ne va pas coder dans ce chapitre, pour le moment on va simplement manipuler.
La première chose que je vous demanderai de faire, c'est d'ouvrir PhpMyAdmin.
Comment ça "comment on fait" ?
Démarrez WAMP, ouvrez la page "PhpMyAdmin" :
Pour accéder à PhpMyAdmin, cliquez sur "phpMyAdmin".
Une nouvelle fenêtre s'ouvre. Ca y est, vous êtes dans PhpMyAdmin
L'accueil de PhpMyAdmin ressemble à ceci :
Vous avez 2 endroits importants :
- Liste des bases
: dans ce menu déroulant sont listées vos bases de données. Le nombre
entre parenthèses, c'est le nombre de tables qu'il y a dans la base.
- Créer une base : tapez un nom pour votre base de données, cliquez sur "Créer" et hop ! C'est fait
Pour le moment, 2 bases sont déjà créées : "mysql" et "test". Ne
touchez pas à la base Mysql, elle contient des informations importantes
pour le fonctionnement de Mysql.
Nous, on va se servir de la base "test". Ouvrez donc cette base en
cliquant sur le menu déroulant à gauche et en choisissant "test".
On vous indique à gauche qu'aucune table n'a été trouvée dans la base. Et si on en créait une ?
On va par exemple créer une table "news" qui contiendra 3 champs :
Cliquez sur "Exécuter".
La table n'est pas immédiatement créée, il faut maintenant indiquer le nom des champs et les données qu'ils peuvent contenir.
On va faire simple car c'est juste pour tester. On va donc créer 3 champs pour cette table :
- id : comme
bien souvent, vous allez devoir créer un champ appelé "id". C'est le
numéro d'identification. Grâce à lui, toutes vos entrées seront
numérotées, ce qui est bien pratique. Il y aura ainsi la news n°1, n°2,
n°3 etc...
- titre : ce champ contiendra le titre de la news.
- contenu : enfin, ce champ contiendra la news en elle-même.
Soyons clairs : je ne suis pas en train de vous apprendre à créer
un système de news pour votre site. Ca on verra un peu plus tard.
D'ailleurs, si on avait voulu faire ça bien on aurait aussi créé un
champ "date", mais bon ne compliquons pas les choses inutilement.
Pour le moment on veut juste faire joujou
Vous devriez avoir ceci sous les yeux :
Vous remplissez à gauche le nom du champ, au milieu le type de champ, et à droite la taille maximale du champ.
Mais qu'est-ce qu'un type de champ ?
Un champ peut contenir du texte, des nombres, des dates etc... Il faut donc définir quel type de données contiendra le champ.
Voici les principaux types de données que vous avez besoin de connaître (il y en a beaucoup d'autres) :
- INT :
nombre entier. Il y a plusieurs variantes, selon la grandeur des
nombres que ça peut comporter. Dans l'ordre, il y a TINYINT (très
petit, c'est-à-dire 255 maximum), SMALLINT (jusqu'à 30 000), MEDIUMINT
(8 000 000), INT (2 000 000 000), BIGINT (vraiment beaucoup !).
- TEXT : du
texte. Là encore il y a plusieurs variantes, ça fonctionne de la même
manière. A vous de choisir celui qui vous paraît le plus adapté.
- DATE : date de la forme "YYYY-MM-DD", "YY-MM-DD" ou "YYMMDD" (c'est le format américain, eh oui !)
- TIME : l'heure, de la forme "HH:MM:SS" ou "HHMMSS" ou "HHMM" ou "HH".
- DATETIME : mélange la date et l'heure, de la forme "YYYY-MM-DD HH:MM:SS"
- BLOB :
plus particulier, ce type est rarement utilisé. Il permet de stocker
des fichiers dans la base de données. Vu que c'est un cas particulier,
on n'en parlera pas de suite, mais il faut que vous sachiez que ça
existe.
Il reste à voir les quelques options qui sont proposées à droite de l'écran pour chaque champ :
Pour le premier champ, id, j'ai mis "auto_increment" pour Extra. Je
vous recommande de le faire pour tous vos champs "id" : ainsi, le
numéro de champ augmentera tout seul à chaque fois que vous rajouterez
une entrée. Ca évite des prises de tête en plus...
J'ai aussi mis "Index" pour "id", je vous recommande de le faire
pour tous vos champs id, ça accélèrera les recherches dans votre table.
Voilà, je ne m'étends volontairement pas sur tout ça, vous en savez
largement assez pour créer une table. Il est inutile de détailler
toutes les possibilités, on y passerait des heures. Copiez mon modèle à
chaque fois que vous créez une table et ça sera bon.
Cliquez enfin sur "Sauvegarder", et ça y est. Ouf ! On a créé une table
Vous pouvez retrouver toute la marche à suivre dans cette animation que je vous ai concoctée :
A gauche de votre écran, la table "news" devient visible :
Si vous cliquez sur "news", ça affichera à droite la structure de la table.
Si vous cliquez sur la petite image de tableau à gauche, ça affichera le contenu de la table.
Pour l'instant la table est vide. Si vous affichez la structure de la table, vous devriez voir ceci en haut :
Rien de bien intéressant à toucher ici, si ce n'est les onglets en
haut : "Structure", "Afficher", "SQL" etc etc... Cela vous amènera vers
différentes options que nous verrons plus loin.
Nous allons rentrer des informations (des entrées) dans cette
table. Cliquez sur l'onglet "Insérer" en haut. Vous pouvez maintenant
créer une entrée. Faites comme moi :
Pour id, je n'ai rien mis car, je vous le rappelle, on avait
indiqué "auto_increment". Le nombre sera calculé tout seul par Mysql,
ne vous en occupez pas.
Indiquez simplement le titre et le contenu de votre news, puis cliquez sur "Exécuter".
Recommencez 1 ou 2 fois, en faisant la même manipulation et en laissant le champ "id" vide.
Maintenant, on va afficher ce que contient la base. Pour cela,
cliquez sur l'onglet "Afficher" en haut, ou bien cliquez sur la petite
image en forme de tableau à gauche de l'écran
Le contenu de la table s'affiche sous vos yeux ébahis
Vous repérez ici les champs : id, titre et contenu. Cette table a 3
entrées, et comme vous pouvez le voir Mysql a bien fait les choses
puisque les numéros d'id se sont créés tous seuls
- Afficher tout le texte
: si vous cliquez sur le T majuscule, cela affichera la totalité du
texte. Vous remarquerez sur mon image que si le texte est trop long,
PhpMyAdmin le coupe. Avec ce bouton vous verrez tout le texte.
- Modifier l'entrée
: cette petite image vous permet de modifier l'entrée sélectionnée (si
vous voulez apporter des modifications à votre news par exemple).
- Supprimer l'entrée : ce bouton supprime l'entrée sélectionnée.
- Afficher X lignes à partir de l'enregistrement n° X
: s'il y a beaucoup d'entrées dans votre table, PhpMyAdmin n'en
affichera qu'un bout (les 30 premières lignes normalement). Si vous
voulez en afficher plus, il vous suffit de modifier ces valeurs puis de
cliquer sur "Afficher".
Voilà, vous en savez suffisamment pour travailler sur une table. Avouez que ce n'était pas bien dur
Il y a certes beaucoup de choses que je passe sous silence, mais
c'est principalement parce que vous n'en aurez besoin que très
rarement.
Bon, il nous reste à traiter encore de quelques fonctionnalités proposées par PhpMyAdmin, et ça sera bon pour ce chapitre.
Nous allons séparer cette partie en 5 sous-parties, correspondant aux onglets suivants :
- SQL
- Exporter
- Opérations
- Vider
- Supprimer
SQL
Cliquez sur l'onglet :
Il s'affiche à l'écran :
C'est ici que vous pouvez exécuter ce que l'on appelle des requêtes SQL pour demander à Mysql de faire quelque chose.
Vous avez 2 méthodes pour exécuter une requête SQL :
- Dans la grande zone de texte, vous pouvez taper des requêtes SQL. Par exemple ici on a :
SELECT * FROM `news` WHERE 1
Cela signifie : "Afficher tout le contenu de la table 'news'"Je vous apprendrai ce langage SQL tout au long de la partie II.
- Dessous, vous pouvez cliquer sur le bouton Parcourir pour
rechercher un fichier sur votre disque dur qui contient des requêtes
SQL. Ca revient exactement au même, mais il est parfois plus facile de
s'échanger des requêtes SQL à l'aide d'un fichier texte.
Pour valider, cliquez sur "Exécuter".
Exporter
Il nous reste à voir les 4 onglets à droite :
Nous nous intéressons maintenant à l'onglet "Exporter". C'est ici
que vous allez pouvoir récupérer votre base de données sur le disque
dur sous forme de fichier texte (qui contiendra des tonnes de requêtes
SQL).
Ce fichier que l'on va "exporter", est-ce que
c'est le même que celui dont tu nous parlais tout à l'heure ? Celui
situé dans C:\WAMP\mysql\data ?
Non pas du tout. Ce que je vous ai montré tout à l'heure, c'était
quelque chose d'illisible. Je vous avais dit qu'on n'y toucherai pas,
je ne vous ai pas menti.
Le fichier que vous allez obtenir grâce à "l'exportation" de PhpMyAdmin, c'est un fichier qui dit à MySQL
comment recréer votre base de données (avec des requêtes en langage SQL)
A quoi il sert ce fichier ?
On peut s'en servir pour deux choses :
- Transmettre votre base de données sur Internet :
pour le moment, votre base de données se trouve sur votre disque dur.
Mais si vous êtes hébergés sur Internet, chez Free par exemple, on va
utiliser ce fichier généré pour "reconstruire" la base de données.
Ainsi, sur Internet vous aurez la même base de données et votre site
web pourra l'utiliser !
- Faire une copie de sauvegarde de la base de données
: on ne sait jamais, si vous faites une bêtise ou qu'un hacker détruit
toutes les informations sur votre site (dont la base de données), vous
serez bien content d'avoir une copie de secours sur votre disque dur !
Attention, je vous rappelle un point
important : le fichier que vous allez générer contient les informations
pour "reconstruire" votre base de données. Ce n'est donc pas le fichier
dans lequel MySQL enregistre vos données, dont je vous ai parlé à la
fin du chapitre précédent.
Votre écran doit ressembler à ceci :
Je vous conseille de laisser les options par défaut, c'est largement suffisant.
Distinguez simplement la structure des données de la table. La
structure d'une table se résume en quelques lignes, ce sont en fait les
noms des champs, leurs types etc... Par contre, les données
correspondent aux entrées, et il peut y en avoir beaucoup ! Pour faire
une sauvegarde complète, il faut donc prendre la structure ET les
données.
A noter que vous pouvez demander une compression, ce qui est utile si votre table est très grosse.
Cliquez sur "Exécuter". On vous proposera alors de télécharger un
fichier : c'est tout à fait normal. N'hésitez pas à regarder ce qu'il y
a dans ce fichier : vous allez voir qu'il y a plein de requêtes SQL.
C'est ce langage que je vais vous apprendre dans les chapitres qui
suivent !
Bon, j'ai récupéré le fichier. Maintenant, comment je fais pour recréer la base de données sur mon site web ?
Il faut aller sur le PhpMyAdmin de votre hébergeur (il en a forcément un). Renseignez-vous pour connaître l'adresse.
Par exemple chez Free c'est :
http://phpmyadmin.free.fr/phpMyAdmin (il faudra indiquer votre login et mot de passe). Une fois dessus, rendez-vous dans l'onglet "SQL", vous devriez voir ceci :
Oui je sais, on a déjà vu cette image toute à l'heure. Nous, on a
besoin juste de la partie (2) : "Emplacement du fichier texte". Cliquez
sur "Parcourir" pour indiquer où se trouve le fichier sur votre disque
dur. Faites "Exécuter", attendez que ça l'envoie, et c'est bon ! Votre
base de données est alors recréée sur Internet !
Opérations
Vous pouvez faire ici diverses opérations sur votre table.
Je ne vais pas les énumérer une à une, ni vous expliquer comment elles
fonctionnent vu que c'est très simple. Sachez simplement que vous
pourriez avoir besoin de :
- Changer le nom de la table : indiquez le nouveau nom pour cette table.
- Déplacer la table vers : si vous voulez mettre cette table dans une autre base de données.
- Copier la table
: faire une copie de la table, dans une autre base ou dans la même
(attention, dans ce cas il faudra qu'elle ait un nom différent).
- Réparer la table
: ne me demandez pas comment ça fonctionne, tout ce que je sais c'est
que si votre table semble poser problème, la réparation peut tout
régler (je m'en suis servi une ou deux fois).
- Optimiser la table
: à force d'utiliser une table, surtout si elle est grosse, on finit
par avoir des "pertes" qui font que la table n'est plus bien organisée.
Un clic là-dessus et hop, c'est ré-arrangé
Vider
Vide tout le contenu de la table. Toutes les entrées vont disparaître,
seule la structure de la table restera (c'est-à-dire les champs).
Attention ! Il n'est pas possible d'annuler cette opération !
Supprimer
Pour supprimer la totalité de la table (structure + données), cliquez sur cet onglet.
Là encore, réfléchissez-y à deux fois avant de tout supprimer, car vous ne pourrez rien récupérer par la suite.
Que fait une exportation de table ?
Pour sauvegarder uniquement les champs d'une table, je dois cocher :
Lequel de ces types de données peut enregistrer des nombres ?
Que détruit l'opération de vidage d'une table ?
Si ma table semble ne plus fonctionner, quelle opération dois-je faire ?
Nous avons vu la plupart des fonctionnalités utiles de PhpMyAdmin.
C'est que PhpMyAdmin permet de faire beaucoup de choses, vous venez de le voir !
C'est pour vous un "outil" qui vous permettra d'administrer votre
base de données, de voir ce qu'elle contient et dans quel état elle
est.
Mais maintenant nous allons rentrer dans le vif du sujet : comment utiliser une base de données avec PHP ?
Les choses sérieuses vont commencer, et vous allez vite être capables de créer plein de scripts très utiles pour votre site !

CopyRight ©2006 -Ayoub KHAYATI (AcidZone)