YBET

Rue Albert 1er, 7

6810 Pin - Chiny

Route Arlon - Florenville

(/fax: 061/32.00.15

Formation PHP - MySQL

YBET   Créer son propre site Contact

8. Créer une base de donnée MySQL

1. Démarrer EasyPHP. - 2. Création d'une table - 3. Types de champs

La base de donnée Mysql, couplée à une base de donnée PHP permet de créer quasiment tous les sites Internet inimaginables. Mysql a de nombreux avantages, elle est sous licence GPL (donc libre d'utilisation), son nombre de développeurs est élevé (aide facile sur les forums informatiques), relationnelle, ... En plus, de nombreuses applications sont téléchargeables gratuitement sur Internet: CMS, forum, livre d'or, gestion photos, vente en ligne, ... (merci de respecter les règles d'utilisation - un lien ne coûte ... rien)

Cette partie de la formation création de site va nous permettre de comprendre le fonctionnement de MySQL, couplé au PHP. A partir de ce chapitre, nous allons commencer à développer une véritable application comme exercice: un petit site d'annonces en ligne.

Si le prochain chapitre va permettre de créer des tables Mysql par programmation, nous allons débuter par créer la base de donnée sous EasyPHP en local. Pourquoi choisir cette méthode? Tout simplement pour pouvoir tester l'application avant de la transférer sur un site "en production". Pour une introduction aux bases de données, vous pouvez utiliser la première partie du cours Access: les notions sur les tables, champs sont équivalentes.

1. Démarrer EasyPhp.

Si vous ne l'avez pas encore installé, téléchargez le logiciel GNU/GPL sur le easyphp.org. Dans Démarrer ->Programmes, sélectionnez EasyPhp. Une petite icône apparaît à coté de l'horloge signalant le démarrage du serveur PHP-mysql. Une petite fenêtre doit également apparaître vous signalant le démarrage des serveurs.

Cette fenêtre permet de démarrer ou d'arrêter Apache (le serveur PHP) et MySQL (la base de donnée) à l'aide des boutons.

A l'aide du menu contextuel de l'icône, sélectionnez administration. Ceci va nous afficher la fenêtre d'EasyPHP. Dans la fenêtre, en PHPMYADMIN, sélectionnez Gestion BD. La fenêtre qui va vous permettre de créer, gérer, .... les bases de données en mode local. La fenêtre ressemble à ceci. La partie de gauche permet d'administrer les bases de données existantes sur votre PC, celle de droite de créer une nouvelle base de donnée ou de gérer celles existantes si elles sont sélectionnées à gauche.

Commençons par créer une base de donnée que nous appellerons YBET par exemple (laisser le type en Interclassement par défaut, normalement, cette possibilité sélectionne Latin1_swedish_ci, le code de caractère par défaut des européens).

Cette partie va nous permettre de créer ensuite des tables dans la base de donnée MySQL. La création peut également se faire par programme (durant l'installation de l'application par exemple).

2. Création d'une table

Les tables en PHP sont identiques à celle d'une table d'Access. Elle intègrent les informations brutes, non traitées. Rentrez le nom d'une table ("annonce par exemple) et le nombre de champs (rubriques) souhaités, à ce stade, sélectionnez 2.

La fenêtre suivante va permettre de personnaliser nos champs. Vous devez obligatoirement rentrer toutes les données

Pour l'instant nous allons créer 2 champs de type VARCHAR (caractères de taille variables)

N'oubliez pas de sauvegarder la table. La fenêtre suivante donne ceci

3. Les types de champs

Nous venons de créer 2 champs. Dans notre exemple, nous avons choisi le type VARCHAR (type caractère à taille variable). Cette formation va nous permettre d'étudier les autres types sous MYSQL.

3.1. Les champs de types caractères

CHAR Chaîne de caractères fixe, nombre de caractères obligatoires. Les caractères manquants sont remplacés par des espaces. 255 char. max., taille obligatoire
VARCHAR Chaîne de caractères de longueur variable 255 char. max., taille maximum obligatoire
TINYBLOB Petite zone de texte, sensible à la casse 255 char. max.
TINYTEXT Petite zone de texte, insensible à la casse  
BLOB Zone de texte standard (mais accepte toute sortes de données comme des images), sensibles aux majuscules / minuscules 65K char. max.
TEXT Zone de texte standard (mais accepte toute sortes de données comme des images), insensible à la casse  
MEDIUMBLOB Zone de texte moyenne, différentie majuscule /minuscules 16 millions char. max.
MEDIUMTEXT Zone de texte moyenne, insensible à la casse 16 millions char. max.
LONGBLOB Grande zone de texte, différentie majuscule / minuscule 4 milliards char. max.
LONGTEXT Grande zone de texte, ne différentie pas majuscule / minuscule 4 milliards char. max.
ENUM Liste de choix 65535 valeurs max.
SET Liste de choix multiple 64 valeurs max.

Les types CHAR et CHARVAR ne sont pas sensibles aux majuscules et minuscules: "Table"="table". Pour rendre ces données sensibles à la casse, utilisez l'option [Binary] lors de la création du champs.

Les variables type TEXTE sont insensibles à la casse, les variables type BLOG les différentie.

3.2. Les champs numériques

Champs numériques
TINYINT Entier très petit 256 valeurs différentes, de -128 à +127 ou 0 à 255 (1 octet)
SMALLINT Entier petit 65.536 valeurs différentes (2 octets)
MEDIUMINT Entier moyen 16.777.216 valeurs différentes (3 octets)
INT Entier standard 4.294.967.296 valeurs différentes (4 octets)
BIGINT Entier grand 8 octets
FLOAT Décimal de simple précision 4 octets
DOUBLE, REAL Décimal de double précision 8 octets
DECIMAL, NUMERIC Décimal sous forme de chaîne variable

Pour les champs de type entier, vous pouvez utiliser l'option Signed (par défaut) pour déterminer des valeurs négatives ou positives ou Unsigned (uniquement des valeurs positives).

L'option ZEROFILL assure l'affichage des zéro.

3.3. Dates et heures

DATE Date. Par exemple 2017-03-06, format anglophone 3 octets
TIME Heure. Par exemple 10:25:59 3 octets
DATETIME Date et heure. Par exemple 2017-03-06 10:25:59 8 octets
TIMESTAMP Date et heure sans les séparations, par exemple 20060306102559. Attention, le format a évolué avec les versions d'où un risque d'erreur en changeant d'hébergement Internet. 4 octets
YEAR Année, exemple 2017 1 octet

Sur le sujet:

Formation pour être dans les premiers sur les moteurs de recherche: positionnez votre site sur Google, MSN, Yahoo, ...

Le fichier Apache .htaccess, configuration serveur, URL Rewriting, accès répertoires.

Créer votre propre site WEB? Quelques explications de départ sur l'hébergement, les langages, ...

>9. Gérer une base MySQL avec PHP

<7. Quelques (bonnes) pratiques en PHP

Modification: 22/12/2011