Créer une table



La première chose que je vous demande de faire, c'est d'ouvrir phpMyAdmin. Pour cela, démarrez WAMP, faites un clic gauche sur l'icône de la barre des tâches et allez dans « phpMyAdmin ». Vous y êtes. ;-)

Si on vous demande de vous identifier, utilisateur : root et mode passe laissé vide.

phpMyAdmin n'est pas un programme mais un ensemble de pages PHP toutes prêtes dont on se sert pour gagner du temps.
On commence donc simplement : dans ce chapitre, nous ne coderons pas pour le moment ; nous allons simplement manipuler.



L'accueil de phpMyAdmin ressemble à la figure suivante.

Accueil de phpMyAdmin



Vous pouvez remarquer deux endroits importants, signalés par des numéros sur ma capture d'écran.

  1. Liste des bases : c'est la liste de vos bases de données. Le nombre entre parenthèses est le nombre de tables qu'il y a dans la base.
    Sur ma capture d'écran, on a donc deux bases : information_schema, qui contient 28 tables, et mysql, qui en contient 23.
  2. Créer une base : pour créer une nouvelle base de données, entrez un nom dans le champ de formulaire à droite, cliquez sur « Créer » et hop ! c'est fait.

Pour le moment, deux bases existent déjà : information_schema et mysql. N'y touchez pas, elles servent au fonctionnement interne de MySQL.

Nous allons maintenant créer une nouvelle base test dans laquelle nous travaillerons tout le temps par la suite. Utilisez le formulaire à droite pour créer cette base : entrez le nom test et cliquez sur le bouton Créer.

L'écran de la figure suivante devrait alors s'afficher si la base a bien été créée.

La base de test a été créée, vide



On vous indique qu'aucune table n'a été trouvée dans la base. Et si on en créait une ? 

Dans le champ « Créer une nouvelle table sur la base test », entrez le nom news et le nombre de colonne 3, comme vous le montre la figure suivante.

Créer une table



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. Je vous propose de faire simple car pour l'instant on cherche juste à tester phpMyAdmin. Pour cette table, on va créer les trois champs suivants.

  • id : comme bien souvent, vous allez devoir créer un champ appelé id (prononcez à l'anglaise « aille di »). 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 elle-même.

Soyons clairs : je ne suis pas en train de vous apprendre à créer un système de news pour votre site. Nous aurons l'occasion d'y travailler un peu plus tard. Pour le moment nous cherchons seulement à découvrir le fonctionnement de phpMyAdmin.

Vous devriez avoir la figure suivante sous les yeux.

Création d'une table MySQL



Chaque ligne représente un champ. Nous avons demandé trois champs, il y a donc trois lignes.

phpMyAdmin vous demande beaucoup d'informations mais rassurez-vous, il n'est pas nécessaire de tout remplir. La plupart du temps, les sections les plus intéressantes seront :

  • Champ : permet de définir le nom du champ (très important !) ;
  • Type : le type de données que va stocker le champ (nombre entier, texte, date…) ;
  • Taille/Valeurs : permet d'indiquer la taille maximale du champ, utile pour le type VARCHAR notamment, afin de limiter le nombre de caractères autorisés ;
  • Index : active l'indexation du champ. Ce mot barbare signifie dans les grandes lignes que votre champ sera adapté aux recherches. Le plus souvent, on utilise l'index PRIMARY sur les champs de type id ;
  • A_I : permet au champ de s'incrémenter tout seul à chaque nouvelle entrée. On l'utilise fréquemment sur les champs de type id.

Je vous propose de remplir le formulaire comme je l'ai fait. Veillez à bien cocher A_I et à définir un index PRIMARY sur le champ id.

Une fois que c'est fait, cliquez sur le bouton Sauvegarder en bas de la page. Votre table est créée !

Avant d'aller plus loin, je voudrais revenir un peu plus en détail sur les types de champs et les index, notamment l'index PRIMARY qu'on a utilisé.


Les types de champs MySQL



Si vous déroulez la liste des types que vous propose MySQL, vous devriez tomber à la renverse, comme l'illustre la figure
suivante.

Types de données MySQL



Alors que PHP ne propose que quelques types de données que l'on connaît bien maintenant (intstringbool…), MySQL propose une quantité très importante de types de données.

En fait, ceux-ci sont classés par catégories.

  • NUMERIC : ce sont les nombres. On y trouve des types dédiés aux petits nombres entiers (TINYINT), aux gros nombres entiers (BIGINT), aux nombres décimaux, etc.
  • DATE and TIME : ce sont les dates et les heures. De nombreux types différents permettent de stocker une date, une heure, ou les deux à la fois.
  • STRING : ce sont les chaînes de caractères. Là encore, il y a des types adaptés à toutes les tailles.
  • SPATIAL : cela concerne les bases de données spatiales, utiles pour ceux qui font de la cartographie. Ce ne sera pas notre cas, donc nous n'en parlerons pas ici.


En fait, phpMyAdmin a eu la bonne idée de proposer au tout début de cette liste les quatre types de données les plus courants :

  • INT : nombre entier ;
  • VARCHAR : texte court (entre 1 et 255 caractères) ;
  • TEXT : long texte (on peut y stocker un roman sans problème) ;
  • DATE : date (jour, mois, année).


Nous n'aurons besoin de jongler qu'entre ces quatre types, donc ce sont eux qu'il faut retenir. Cela couvrira 99 % de nos besoins.

Une petite remarque à propos de VARCHAR : c'est un type adapté aux textes courts, comme le titre d'une news de votre site. Sa seule exigence est que vous devez indiquer la taille maximale du champ (entre 1 et 255). Si vous ne le faites pas, vous ne pourrez pas créer la table. Si vous ne savez pas à combien limiter votre champ, vous pouvez mettre la valeur maximale (255) comme je l'ai fait dans l'exemple précédent.




Les clés primaires



Toute table doit posséder un champ qui joue le rôle de clé primaire. La clé primaire permet d'identifier de manière unique une entrée dans la table. En général, on utilise le champ id comme clé primaire, comme on vient de le faire.

Chaque news de votre site doit pouvoir être identifiée de manière unique. Le moyen le plus simple pour cela est de lui donner un numéro unique, dans un champ nommé « id ». Il ne peut pas y avoir deux news avec le même id ! Il en irait de même pour les autres tables de votre site : par exemple, chaque membre doit se voir attribuer un numéro unique. Si deux membres ont le même numéro, on ne pourra pas les différencier !

Il est vital que chaque table possède sa clé primaire. On ne vous interdira pas de créer des tables sans clé primaire, mais leurs performances seront extrêmement réduites. Je vous conseille donc de prendre le réflexe de créer à chaque fois ce champ « id » en lui donnant l'indexPRIMARY, ce qui aura pour effet d'en faire une clé primaire. Vous en profiterez en général pour cocher la case AUTO_INCREMENT afin que ce champ gère lui-même les nouvelles valeurs automatiquement (1, 2, 3, 4…).

Créé avec HelpNDoc Personal Edition: Mettez facilement votre documentation en ligne avec HelpNDoc