Le langage SQL

SQL destiné à définir, manipuler et contrôler les bases de données, est devenu le langage incontournable des SGBD relationnel. Historiquement, ce langage est une évolution du langage SEQUEL développé par IBM pour mettre en œuvre le modèle de Codd. SQL a été adopté comme recommandation par l’ANSI en 1986, il est devenu une norme en 1987 (ISO/CEI 9075) qui a été révisée plusieurs fois. Le langage SQL diffère des langages de programmation car il ne dispose pas de structure de contrôle. Les instructions fournies par le langage SQL se répartissent comme suit:

  • Gestion des structures de la base de données (tables, vues, etc.).
  • Gestion des enregistrements des tables et extraction des données.
  • Gestion des accès dans une base de données.
  • Gestion des transactions dans une base de données.

Il donc possible de structurer le langage SQL de la façon suivante :

  • DDL
  • Gestion des éléments de la base (tables)
  • Commandes : CREATE, DOMAIN, ALTER, DROP
  • DML
  • Insertion, modification, suppression et extraction de données
  • Commandes : INSERT, UPDATE, DELETE, SELECT
  • DCL
  • Attribution et révocation des droits
  • Commandes : GRANT, REVOKE
  • TCL
  • Contrôle de la bonne exécution des transactions
  • Commandes SET, TRANSACTION, COMMIT, ROLLBACK

Dans le cadre de ce contenu, nous nous intéresserons uniquement aux requêtes utilisées pour gérer les tables (DDL) et pour manipuler les données (DML). Ces requêtes ont été testées avec la version 5.1.70 du serveur MySQL et la version 8.1.23 du serveur PostgreSQL.