Ce livre s’organise autour de trois parties distinctes mais complémentaires. La première intéressera le lecteur débutant en la matière, car elle concerne les instructions SQL et les notions de base de MySQL. La deuxième partie décrit la programmation avec le langage procédural de MySQL. La troisième partie attirera l’attention des programmeurs qui envisagent d’utiliser MySQL à l’aide d’outils natifs, ou tout en programmant avec des langages évolués ou via des interfaces Web (PHP ou Java).
Première partie : SQL de base
Cette partie présente les différents aspects du langage SQL de MySQL, en étudiant en détail les instructions de base. À partir d’exemples, j’explique notamment comment déclarer, manipuler, faire évoluer et interroger des tables avec leurs différentes caractéristiques et leurs éléments associés (contraintes, index, vues, séquences). Nous étudions aussi SQL dans un contexte multi-utilisateur (droits d’accès), et au niveau du dictionnaire de données.
Deuxième partie : programmation procédurale
Cette partie décrit les caractéristiques du langage procédural de MySQL. Le chapitre 6 traite des éléments de base (structure d’un programme, variables, structures de contrôle, interactions avec la base et transactions). Le chapitre 7 traite des sous-programmes, des curseurs, de la gestion des exceptions, des déclencheurs et de l’utilisation du SQL dynamique.
Troisième partie : langages et outils
Cette partie intéressera les programmeurs qui envisagent d’exploiter une base MySQL en utilisant un langage de programmation. Le chapitre 8 détaille l’API JDBC 3.0 qui permet de manipuler une base MySQL 5 par l’intermédiaire d’un programme Java. Le chapitre 9 décrit les principales fonctions de l’API mysqli qui permet d’interfacer un programme PHP 5 avec une base MySQL 5.
Le chapitre 10 synthétise les fonctionnalités de plusieurs outils graphiques tels que MySQL Administrator, MySQL Query Browser et phpMyAdmin. D’autres consoles graphiques d’administration sont étudiées, à savoir Toad for MySQL, Navicat et EMS SQL Manager.