La mise en place de la base de données MySQL

Avant de commencer réellement à construire vos scripts de base de données, vous devez avoir une base de données pour placer les informations dedans et les lire. Dans cette section, je vais vous montrer comment créer une base de données MySQL et la préparer avec les données.

Je vais aussi commencer à vous montrer comment créer la base de données de gestion de contacts.

PHP cours tutorial

La base de donnée MySQL

MySQL est un système de BDD.
La BDD MySQL est différente du PHP. php est un langage de programation pour le web
MySQL est un systéme de stockage de données que nous allons voir dans la suite du cours.
Si on veut stocker ou voir des données dans la BDD (Base De Donnée) on le demande à MySQL.
Pour mieux comprendre. Je vous fais le schéma suivant :
Un visiteur remplit un formulaire sur votre site par exemple —>le serveur transmit la demande au PHP —>PHP demande à MySQL de stocker les données du formulaire sur la BDD —>MySQL fait le travail et le signale à PHP —>PHP génère la page et la transmit au serveur —>le serveur la transmit au visiteur.

Une BDD est constituée de plusieurs tables chaque table contient un type d’information par exemple une table pour les données des visiteurs, une autre pour les messages postés dans votre forum, une autre pour le livre d’or etc. …

Nous allons maintenant faire des manipulations sur une base de données. Pour cela nous allons nous servir de PhpMyAdmin qui est livré avec wampserver que nous avons installé au début du cours sur le PHP instalation PHP, et qui est facile à utiliser.

PhpMyAdmin est un ensemble de pages PHP pour manipuler MySQL. Ce n'est pas un programme, mais des pages PHP toutes prêtes dont on se sert pour gagner du temps.

La première chose à faire, c'est d'ouvrir PhpMyAdmin.

Démarrez WAMP, faites un clic gauche sur l'icône de la barre des tâches et allez dans "phpMyAdmin".

Créer une base de données



L'accueil de PhpMyAdmin ressemble à ceci :

Accueil phpMyAdmin

On a deux parties importantes que j’ai marquées avec les numéros en bleu.
1. la liste de vos BDD Le nombre entre parenthèses, c'est le nombre de tables qu'il y a dans la base.
On a donc 2 bases : information_schema, qui contient 28 tables, et mysql, qui contient elle 21 tables.(peut être que vous n'avez pas les même nombre c'est suivant la version)
2. Créer une base de données: pour créer une nouvelle base de données, tapez un nom dans le champ de formulaire à droite, cliquez sur "Créer" et C'est fait.
Ne touchez pas au 2 bases : information_schema, et mysql, elles servent au fonctionnement interne de mysql.

Nous allons créer une nouvelle base "test".Tapez test dans le champ de saisie cliquer sur créer.
Vous aurez l’écran suivant :

phpMyAdmin créer une base

Créer une table dans la base de données


On va créer une table dans la base.
Dans le champ "Créer une nouvelle table sur la base test", tapez le nom "news" et le nombre de champs "3" :
Cliquez sur "Exécuter".

Vous avez maintenant un formulaire à remplir pour indiquer les noms des champs et les données qu'ils peuvent contenir.
On va donc créer 3 champs pour cette table :
* id : nous allons créer un champ appelé "id". C'est le numéro d'identification. Grâce à lui, toutes vos entrées seront numérotées. Il y aura ainsi la news n°1, n°2, etc...une entrée c’est une ligne dans la table.
* titre : ce champ contiendra le titre de la news.
* contenu : ce champ contiendra la news en elle-même.
Alors dans le premier champ tapez id et dans la liste déroulante en dessous choisissez mediumint.

Dans le second champ tapez titre et dans la liste déroulante en dessous choisissez text.
Et en fin dans le troisième tapez contenu et dans la liste déroulante en dessous choisissez aussi text.
Il faut donc définir quel type de données contiendra le champ. Un champ peut contenir du texte, des nombres, des dates etc...
Les différents types de données vous les avez dans la liste déroulante type, mais voici l’explication de quelques types les plus utilisés :

* INT : nombre entier. Il y a plusieurs, selon la grandeur des nombres que peut comporter.
Dans l'ordre, il y a :
TINYINT (très petit, inférieur ou égale à 255 ),
SMALLINT (jusqu'à 30 000),
MEDIUMINT (8 000 000),
INT (2 000 000 000),
BIGINT (très grand).
* TEXT : du texte. Là encore il y a plusieurs variantes.
* DATE : date dont la forme peut être : "YYYY-MM-DD", "YY-MM-DD" ou "YYMMDD"
* TIME : l'heure, dont la forme peut être : "HH:MM:SS" ou "HHMMSS" ou "HHMM" ou "HH".
* DATETIME : mélange la date et l'heure, dont la forme peut être : "YYYY-MM-DD HH:MM:SS"
* BLOB : plus particulier. Il permet de stocker des fichiers dans la base de données.

Pour le premier champ, id, cochez "A.I." qui signifie "auto_increment" , et choisissez "Primary" pour les options d'Index, ça accélèrera les recherches dans votre table.
Cliquez enfin sur "Sauvegarder" en bas.

Nous allons remplir la table et créer notre première entrée (c’est à dire ligne).
Cliquez sur l’onglet insérer.

Ne rien mettre pour id car il est automatique.
Pour le titre tapez le titre que vous voulez par exemple : ma première news.
Pour le contenu tapez le texte de votre news par exemple : c’est ma première news je suis heureux.

Cliquez sur exécuter.

Refaites la même chose 2 ou 3 fois pour avoir plusieurs entrées si vous voulez.
Pour afficher le contenu de votre table clique sur l’onglet afficher ou sur la table news à droite.
Vous pouvez modifier votre news en cliquant sur l’icône en forme de crayon. Ou supprimer en cliquant sur l’icône en croix rouge etc. …

Nous allons expliquer les 6 onglets suivants :
* SQL
* Importer
* Exporter
* Opérations
* Vider
* Supprimer

L'onglet SQL

Cliquez sur l’onglet SQL. Vous aurez ça :

phpMyAdmin faire une requête

Ici vous pouvez exécuter ce que l'on appelle des requêtes SQL pour demander à Mysql de faire quelque chose.
Dans la grande zone de texte, vous pouvez taper des requêtes SQL. Par exemple ici on a :
SELECT * FROM `news`
Cela signifie : "Afficher tout le contenu de la table 'news'".
Nous apprendrons ce langage SQL tout au long de ce cours.

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.
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, 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 : 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.

L'onglet importer


Cliquez sur Importer
Dans la page qui s'affiche, vous pouvez envoyer un fichier de requêtes SQL (généralement un fichier .sql) à MySQL pour qu'il les exécute.
Seul le premier champ en haut devrait nous intéresser : il nous permet d'indiquer un fichier sur notre disque dur contenant des requêtes SQL à exécuter (le fichier qu’on a créé avec exporter par exemple).

L'onglet Opérétion

Cliquez sur 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).
* 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 c'est arrangé.

L'onglet Vider

Vide tout le contenu de la table. Toutes les entrées vont disparaître, seule la structure de la table restera

L'onglet 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.
En fin comme vous n’avez pas encor de BDD pour de vrais, n’hésitez pas à tester les différentes options pour voir ce que ça donne.


La base de données de Contacts



La base de données de contacts contient toutes les informations  pour les gens qui constitue la liste  de vos contacts et toutes ces informations pourront être éditées et lus sur internet. Les champs suivants seront utilisés dans la base de données :

Nom

Type

Longueur

Description

ID

INT

6

Un identificateur unique pour chaque enregistrement

prenom

VARCHAR

15

Prénom de la personne

nom

VARCHAR

15

Nom de la personne

Telephone

VARCHAR

20

Numéro de téléphone de la personne

Mobile

VARCHAR

20

Numéro de téléphone mobile de la personne

Fax

VARCHAR

20

Numéro de télécopieur de la personne

Email

VARCHAR

50

Adresse de courriel de la personne

Web

VARCHAR

70

Adresse web de la personne


Vous demandez peut-être pourquoi j'ai utilisé des champs VARCHAR pour les numéros de téléphone/fax même s'ils sont composés de chiffres. Vous pouvez utiliser des champs INT, mais je préfère utiliser VARCHAR car il permettra d’insérer les tirets, les barres obliques et les espaces entre les nombres, ainsi que les numéros textuelles.
 Le champ id sera également défini comme PRIMARY, INDEX, UNIQUE et aura la valeur auto_increment (qui se trouve sous Extra en PHPMyAdmin). La raison c’est qu'il s'agit de l'identificateur de champ (primaire et index) et donc doit être unique. Le paramètre incrément automatique signifie que chaque fois que vous ajoutez un enregistrement, l’id sera incrémenté de 1 et donc il vous sera donné le numéro suivant sauf si vous spécifiez un id.


Création de la Table en PHP


Le code suivant doit être utilisé pour créer cette table en PHP. Des parties du code ci-dessous n'ont pas encore été couvertes par notre cours, mais elles seront expliquer en détail dans les chapitres qui vont suivre.

Sélectionner le code

<?php
$user="utilisateur";
$password="mot de passe";
$database="nom de la base de données";
mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "impossible de sélectionner la base
de données");
$query="CREATE TABLE contacts (id int(6) NOT NULL auto_increment,prenom
varchar(15) NOT NULL,nom varchar(15) NOT NULL,telephone  varchar(20)
NOT NULL,mobile varchar(20) NOT NULL,fax varchar(20) NOT NULL,email
varchar(50) NOT NULL,web varchar(70) NOT NULL,PRIMARY KEY (id),UNIQUE
id (id),KEY id_2 (id))";
mysql_query($query);
mysql_close();
?>

 

Entrez le nom de votre base de données, l’utilisateur et de mot de passe  de votre MySQL au niveau des positions sur les trois premières lignes dans le code ci-dessus.

Par carabde 20 Aout 2014