14.8. Créer une base de donnée MySQL
1 Introduction - 2. Démarrer EasyPHP.
- 3. Création d'une table - 4. 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: forum, livre
d'or, gestion photos, vente en ligne, ... (mais 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". D'ailleurs, cette formation sera principalement "en local".
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.

Si
vous ne l'avez pas encore installer, télécharger le logiciel GNU/GPL sur le site.
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).
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

- Le nom du champ ne peut être nul, ni comporter de caractères
accentués, espaces, -, .... par contre, il accepte _
- Le type de champ est sélectionné dans une liste de choix. Pour
l'instant, sélectionnons VARCHAR qui correspond à du texte.
- la Taille/valeurs nous permet de déterminer la taille maximum des
données à rentrer dans les champs.
- Interclassement représente le jeux de caractères par défaut si
vous ne sélectionnez rien (préférable). Sinon vous pouvez sélectionner
Latin1_swedish_ci. Si le jeu de caractère n'est pas démarré dans PHPMYADMIN,
vous recevrez néanmoins un code d'erreur
- L'attribut peut-être rien, unsigned ou Unsigned zerofill. Les 2
dernières valeurs s'utilisent uniquement pour des types de champs
spéciaux.
- Null permet de définir si le champ peut-être null (vide) ou non.
- Défaut permet de donner une valeur par défaut au champ.
-
permet de
déterminer si le champ est ou non une clé primaire. Dans ce cas, la
valeur du champ sera unique dans la table. Aucun n'enregistrement n'aura la
même valeur dans ce champ, les tris sont également plus rapides
index
permet d'augmenter les vitesses de traitement (tri) dans la table. La clé
primaire est également un index.
unique
permet de spécifier que le contenu est unique dans l'ensemble du champ.
Contrairement à l'index, elle n'augmente pas la vitesse de traitement.
permettent d'indexer des textes complets. Cette possibilité ralentit la
table pour de longs champs.
Pour l'instant nous allons créer 2 champs de type VARCHAR (caractères de
taille variables)
- code, de taille 10 et non null. Unique
- titre, de taille 30 et non null.
N'oubliez pas de sauvegarder la table. La fenêtre suivante donne ceci

permet
d'éditer (modifier) la table.
- Le bouton
permet de supprimer le champ.
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.
4.1. Les champs de types caractères
| CHAR |
Chaîne de caractères fixe, nombre de caractères
obligatoires. Les caractères non inclus seront 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.
4.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.
4.3. Dates et heures
| DATE |
Date. Par exemple 2008-03-06, format anglophone |
3 octets |
| TIME |
Heure. Par exemple 10:25:59 |
3 octets |
| DATETIME |
Date et heure. Par exemple 2006-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 2008 |
1 octet |
|
Formations Privées en informatiques
B-6810 Pin - Chiny
|
|
Création
et référencement Internet
Formation:
apprenez à créer et référencer votre propre site Internet
- Module 1 (Débuter en création de site, HTML): 19 et 26 avril,
3 ,10 et 17 mai.
- Module 2 (Débuts en PHP, MySQL: première partie): 17, 24 et 31
mai, 7, 14 et 21 juin.
Ces modules sont accessibles également à distance. Elles se dérouleront
les lundi soirs de 19 à 22 heures.
|
 |
| 1.
Introduction
au langage Php
|
| 2. Installer et
utiliser easyphp
|
| 3. Premier
programme en PHP
|
| 4. Fonctions en
PHP
|
| 5. Les tableaux
|
| 6. Fonctions sur
les variables
|
| 7. Formulaires Mail
|
|
8. Base de donnée
MySQL sous easyphp
|
| 9. Première
application de Mysql
|
| 10. Gestion des
tables par des commandes en PHP
|
| 10.a Formulaire
mail |
| 11. Mise en page:
fonctions include() - require()
|
| 12. Création
automatique de la table utilisateur
|
| 13. Formulaire et
vérification des données
|
| 14. Insertion des
nouveaux membres
|
| 15. Gestion des
catégories
|
| 16. Liste de
choix déroulante
|
|
17. Modification
des tables MySQL
|
|
18. Enregistrer
un fichier via un formulaire
|
| 19. Formulaire
d'insertion
|
| 20. Affichage des
annonces
|
| 21. Filtrage des
annonces (1)
|
| 23. Exercice: gérer
des news
|
| 24. Utilisation
des Cookies
|
| 25. Gestion
fichiers et Dossiers (source et FTP)
|
| 26. Cryptage et
décryptage de mots de passe
|
| 27. Base
relationnelle, méthodes Left et Join. |
 |
| Programmer
en Javascript, langage complémentaire au PHP |
| Formation
gratuite sur le référencement,
positionnez votre site sur Google, MSN, Yahoo, ... |
| Les
feuilles de styles, mise en forme, CSS et positionnement |
| FrontPage
et l'HTML, cours en ligne |
| Le
fichier .htaccess, configuration serveur, URL
Rewriting, accès répertoires. |
| Exemples de programmation qui utilisent de ces notes de cours
Le
Luxembourg belge, intégration des annonces, agenda,
annuaire, découverte de la région, administration, ...
|
|
| Contacts
commerciaux
|
|
MATERIEL
INFORMATIQUE
|
| Le magasin YBET en
quelques mots
|
| Formations
privées en informatique
|
| Quelques
tarifs au magasin, un aperçu de notre gamme de produits.
|
|
|
|