MySQL : initiation aux bases de données
XP-Infos n° 11 – mai 2010
Article
Nous terminons notre passage en revue des technologies Web par le système de base de données MySQL. Développé à l’origine par trois Scandinaves, MySQL est devenue la base de données open source la plus populaire au monde.
Le code MySQL
L’interaction avec une base de données se passe en deux étapes :
- les opérations sur la base de données utilisent le langage SQL (Structured Query Language, langage structuré de requêtes) ;
- c’est le code PHP (ou autre langage de programmation Web) qui transmet le code SQL à la base de données.
Voici à quoi ressemble le code SQL :
SELECT titre, auteur, date FROM livres WHERE stock = 'oui' ORDER BY date DESC
Petites explications :
- Notre petite base de données est constituée d’une table
livres
, qui contient des lignes et des colonnes :
identificateur | titre | auteur | date | stock |
---|---|---|---|---|
1 | L’Assommoir | Émile Zola | 1877 | oui |
2 | La Confusion des sentiments | Stefan Zweig | 1927 | non |
3 | Lettres à un jeune poète | Rainer Maria Rilke | 1929 | oui |
FROM livres
indique la table concernée par l’opération (aussi appelée « requête SQL ») ;SELECT titre, auteur, date
récupère les colonnes « titre », « auteur » et « date », laissant de côté les colonnes « identificateur » et « stock » ;WHERE stock = 'oui'
précise qu’il faut récupérer uniquement les lignes où le champ (intersection entre colonnes et lignes) « stock » est égal à « oui » ;- enfin,
ORDER BY date DESC
procède au tri des lignes récupérées selon la date, en ordre décroissant (du plus récent au plus ancien, donc, pour des dates).
Il existe ainsi des instructions INSERT, UPDATE, DELETE
pour ajouter, modifier ou supprimer – respectivement – des données dans la base, mais aussi CREATE, DROP
, etc., pour créer, effacer et manipuler les tables et leur organisation.
Le code PHP pour MySQL
Comme indiqué plus haut, c’est le code PHP qui va communiquer avec la base et lui transmettre les requêtes SQL. Voici à quoi cela ressemble :
mysql_connect("localhost", "xp-internet", "mon_mot_de_passe");
mysql_select_db("maBase");
$resultat = mysql_query("SELECT titre, auteur, date FROM livres WHERE stock = 'oui' ORDER BY date DESC ");
Explications :
-
mysql_connect("localhost", "xp-internet", "mon_mot_de_passe")
se connecte au serveur MySQL nommé « localhost », à l’aide du nom d’utilisateur « xp-internet » et du mot de passe « mon_mot_de_passe » ; mysql_select_db("maBase")
sélectionne la base de données appelée « maBase » sur ce serveur (qui en héberge généralement plusieurs) ;$resultat = mysql_query("SELECT titre, auteur, date FROM livres WHERE stock = 'oui' ORDER BY date DESC ")
transmet la requête SQL et stocke le résultat dans la variable $resultat, pour une exploitation ultérieure par le code PHP (hé oui, il ne suffit pas d’interroger la base de données, aussi faut-il exploiter et traiter le résultat renvoyé par la suite).
Utilité des bases de données
Il est possible d’enregistrer ses données dans de simples fichiers de texte, mais il devient vite difficile de les exploiter par la suite. Les bases de données facilitent et accélèrent le traitement des informations en les conservant de manière structurée et organisée.
Les bases de données apportent tout de suite un surcroît de puissance à votre site Internet, et ouvrent la porte à toutes sortes de fonctionnalités : gestion de clientèle, catalogue de produits, gestion de contenu. C’est d’ailleurs l’avènement des bases de données qui a permis l’essor des CMS.
En contrepartie, elles augmentent aussi la complexité de construction et de maintenance des sites Internet, et donc leur coût.
Trucs et astuces
Cours MySQL en ligne :
Le mois prochain
Les bases de l’optimisation de votre site pour le référencement.