vendredi 25 septembre 2026

À propos

Contact

Lexique · Bases de données

SQL

En anglais : « SQL »

Langage standardisé permettant d'interroger, de modifier et de définir la structure des données dans une base relationnelle comme MySQL ou MariaDB.

Derrière chaque affichage d’article, chaque recherche de commentaire ou chaque mise à jour d’option se cache une même famille d’instructions, écrites dans un langage conçu dans les années 1970 et resté depuis la référence quasi universelle des bases relationnelles.

Ce que WordPress en fait, et ce qu’il en cache

WordPress encapsule presque toujours ce langage derrière des fonctions PHP de haut niveau : WP_Query, get_posts() ou update_option() génèrent en coulisses les instructions SELECT, INSERT ou UPDATE nécessaires. La classe $wpdb, elle, donne un accès direct au langage lorsqu’une requête sort du cadre prévu par l’API classique, à condition de toujours passer par prepare() pour les valeurs variables.

Exemple

SELECT post_title, post_date
FROM wp_posts
WHERE post_status = 'publish'
ORDER BY post_date DESC
LIMIT 5;

Bon à savoir

  • Activer la constante SAVEQUERIES dans wp-config.php permet, en développement uniquement, de lister toutes les requêtes exécutées sur une page via $wpdb->queries ; à ne jamais laisser active en production, l’impact sur la mémoire étant significatif.
  • Écrire une requête directe avec $wpdb reste justifié dans des cas précis (statistiques agrégées, jointures complexes), mais contourne les caches internes de WP_Query, à réintroduire manuellement si nécessaire.
  • Ce langage se décline en plusieurs dialectes proches mais pas identiques : la syntaxe utilisée par MySQL et MariaDB diverge parfois légèrement de celle de PostgreSQL ou SQLite.
  • Un débutant confond parfois ce langage avec le moteur de base de données lui-même : SQL désigne la grammaire des requêtes, tandis que MySQL ou MariaDB désignent le logiciel qui l’exécute réellement.