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.