• Aide
  • Eurêkoi Eurêkoi

Livre

Programmer avec MySQL : SQL, transactions, PHP, Java, optimisations, XML, JSON : avec 40 exercices corrigés

Résumé

Présentation pédagogique du langage SQL en programmant sous MySQL, avec une description précise de ses concepts : variables, structures de contrôle, interactions avec la base, sous-programmes, SQL dynamique, entre autres. Chaque notion est introduite par un exemple et se clôt par une série d'exercices avec leurs corrigés en ligne. Avec les mises à jour de MySQL 8.0. ©Electre 2021


  • Éditeur(s)
  • Date
    • DL 2021
  • Notes
    • La couv. porte en plus : "Mis à jour avec MySQL 8.0"
    • SQL = Structured Query Language. PHP = Hypertext Preprocessor. JSON = JavaScript object notation
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XVII-557 p.) : ill. ; 23 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-416-00368-4
  • Indice
    • 681.84(07) Systèmes de gestion de bases de données. Manuels
  • Quatrième de couverture
    • Apprendre SQL par l'exemple

      Particulièrement destiné aux débutants, cet ouvrage permet de découvrir tous les aspects de la programmation SQL (création de tables, évolution, mises à jour et extractions) par le biais du système de gestion de bases de données MySQL. Les concepts du langage procédural de MySQL y sont décrits avec précision : variables, structure de contrôle, interactions avec la base, sous-programmes, curseurs, transactions, gestion des exceptions, déclencheurs, SQL dynamique... L'auteur explique en outre comment exploiter une base MySQL (connexion et transactions) en programmant avec Java (JDBC) ou PHP. Chaque notion importante du livre est introduite à l'aide d'exemples simples et chaque chapitre se clôt par une série d'exercices, avec corrigés disponibles en ligne, qui permettront au lecteur de tester ses connaissances.

      Une nouvelle édition mise à jour avec MySQL 8.0

      Cette sixième édition inclut les fonctionnalités de la version 8.0 de MySQL, notamment la gestion des espaces de stockage, les fonctions SQL pour JSON et la récursivité avec les CTE. L'optimisation des requêtes est également détaillée, en particulier le fonctionnement de l'optimiseur, l'utilisation des statistiques et les plans d'exécution.

      À qui s'adresse cet ouvrage ?

      • À tous ceux qui souhaitent s'initier à MySQL
      • Aux développeurs Java et PHP

  • Tables des matières
      • Programmer avec MySQL

      • 6e édition

      • SQL • Transactions • PHP • Java • Optimisations • XML.JSON

      • Christian Soutou

      • Éditions Eyrolles

      • Introduction 1
      • SQL, une norme, un succès 1
      • Modèle de données 2
      • Tables et données2
      • Les clés3
      • MySQL 3
      • Les produits4
      • Services Cloud4
      • Licences5
      • Les versions5
      • Architecture6
      • Moteurs de stockage7
      • Oracle devient propriétaire8
      • Notion de database [schéma]9
      • Notion d'hôte10
      • Aspects étudiés11
      • Mise en oeuvre de MySQL [sous Windows] 11
      • Installation11
      • Premiers pas 13
      • L'interface de commande13
      • Création d'un utilisateur14
      • Connexion au serveur14
      • Vérification de la version15
      • Options de base15
      • Batch16
      • Votre prompt, et vite !17
      • Commandes de base18
      • Partie 1 SQL de base19
      • 1 Définition des données 21
      • Tables relationnelles 21
      • Création d'une table [Create Table]21
      • Délimiteurs22
      • Sensibilité à la casse23
      • Commentaires23
      • Premier exemple24
      • Contraintes25
      • Conventions recommandées26
      • Types des colonnes28
      • Structure d'une table [Describe]32
      • Restrictions32
      • Les collations et jeux de caractères33
      • Index 34
      • Arbres balancés34
      • Création d'un index [Create Index]35
      • Bilan36
      • Destruction d'un schéma 36
      • Suppression d'une table [Drop Table]37
      • Ordre des suppressions37
      • Exercices 38
      • 2 Manipulation des données 41
      • Insertions d'enregistrements [Insert]41
      • Syntaxe41
      • Les doublons42
      • Renseigner toutes les colonnes42
      • Renseigner certaines colonnes43
      • Renseignez vos colonnes !43
      • Plusieurs enregistrements44
      • Ne pas respecter des contraintes44
      • Insertions multilignes45
      • Données binaires46
      • Énumérations46
      • Dates et heures49
      • Séquences 53
      • Utilisation en tant que clé primaire53
      • Modification d'une séquence54
      • Utilisation en tant que clé étrangère55
      • Modifications de colonnes 56
      • Syntaxe [Update]56
      • Modification d'une colonne57
      • Modification de plusieurs colonnes57
      • Modification de plusieurs enregistrements57
      • Ne pas respecter les contraintes58
      • Restrictions59
      • Dates et intervalles59
      • Remplacement d'un enregistrement 63
      • Suppressions d'enregistrements 63
      • Instruction Delete64
      • Instruction Truncate64
      • Intégrité référentielle 65
      • Syntaxe65
      • Cohérences assurées66
      • Contraintes côté « père »67
      • Contraintes côté « fils »67
      • Clés composites et nulles68
      • Cohérence du fils vers le père68
      • Cohérence du père vers le fils69
      • En résumé71
      • Insertions à partir d'un fichier 71
      • Exercices 74
      • 3 Evolution d'un schéma 77
      • Renommer une table [Rename] 77
      • Modifications structurelles [alter table] 78
      • Ajout de colonnes78
      • Renommer des colonnes79
      • Modifier le type des colonnes79
      • Valeurs par défaut80
      • Supprimer des colonnes80
      • Énumérations81
      • Colonnes virtuelles82
      • Modifications comportementales 84
      • Ajout de contraintes84
      • Suppression de contraintes86
      • Désactivation des contraintes88
      • Réactivation des contraintes89
      • Contraintes différées92
      • Les collations et jeux de caractères93
      • Création d'une table par clonage93
      • Exercices 94
      • 4 Interrogation des données 97
      • Généralités 97
      • Syntaxe [Select]98
      • Pseudotable98
      • Projection [éléments du Select] 99
      • Extraction de toutes les colonnes100
      • Extraction de certaines colonnes101
      • Alias101
      • Duplicatas102
      • Expressions simples102
      • Ordonnancement103
      • Concaténation104
      • Insertion multiligne104
      • Limitation du nombre de lignes105
      • Restriction [Where] 105
      • Opérateurs de comparaison106
      • Opérateurs logiques107
      • Opérateurs intégrés107
      • Alias109
      • Fonctions 109
      • Caractères109
      • Numériques113
      • Fonctions pour les bits114
      • Dates115
      • Fonctions pour les Null119
      • Conversions120
      • Comparaisons121
      • Énumérations122
      • Fonctions pour les UUID124
      • Autres fonctions127
      • Regroupements 127
      • Fonctions de groupe128
      • Étude du Group By et Having130
      • Opérateurs ensemblistes 132
      • Intersection133
      • Opérateurs Union et Union All134
      • Différence135
      • Produit cartésien136
      • Division137
      • Ordonner des résultats139
      • Bilan140
      • Jointures 141
      • Classification141
      • Jointure relationnelle142
      • Jointures SQL2142
      • Types de jointures142
      • Équijointure143
      • Autojointure145
      • Inéquijointure146
      • Jointures externes148
      • Jointures procédurales150
      • Tables dérivées (et CTE)154
      • Sous-interrogations synchronisées156
      • Autres directives SQL2157
      • Récursivité avec les CTE162
      • Transformations de résultats167
      • Exercices 170
      • 5 Contrôle des données 173
      • Gestion des utilisateurs 174
      • Classification174
      • Création d'un utilisateur [Create User]174
      • Modification d'un utilisateur176
      • Renommer un utilisateur [Rename User]176
      • Verrouillage d'un utilisateur177
      • Suppression d'un utilisateur [Drop User]177
      • Gestion des bases de données 178
      • Création d'une base [Create Database]178
      • Sélection d'une base de données [USE]178
      • Modification d'une base [Alter Database]179
      • Suppression d'une base [Drop Database]179
      • Création des espaces de stockage180
      • Privilèges 181
      • Niveaux de privilèges181
      • Tables de la base mysql182
      • Table mysql. user182
      • Attribution de privilèges [Grant]186
      • Table mysql. db190
      • Table mysql. host191
      • Table mysql. tables_priv191
      • Table mysql. columns_priv191
      • Table mysql .procs_priv192
      • Révocation de privilèges [Revoke]193
      • Attributions et révocations « sauvages »195
      • Rôles196
      • Accès distants 199
      • Connexion par l'interface de commande199
      • Table mysql. host200
      • Vues 201
      • Création d'une vue [Create View]202
      • Classification203
      • Vues monotables204
      • Vues complexes208
      • Autres utilisations de vues212
      • Transmission de droits215
      • Modification d'une vue [Alter View]216
      • Visualisation d'une vue [Show Create View]216
      • Suppression d'une vue [Drop View]216
      • Dictionnaire des données 217
      • Constitution217
      • Modèle graphique du dictionnaire des données218
      • Démarche à suivre219
      • Classification des vues221
      • Moteurs du serveur223
      • Bases de données du serveur223
      • Composition d'une base224
      • Détail de stockage d'une base224
      • Structure d'une table225
      • Les collations et jeux de caractères227
      • Recherche des contraintes d'une table228
      • Composition des contraintes d'une table229
      • Détails des contraintes référentielles229
      • Recherche du code source d'un sous-programme231
      • Paramètres des sous-programmes stockés232
      • Privilèges des utilisateurs d'une base de données232
      • Commande SHOW234
      • Exercices 236
      • Partie II Programmation procédurale239
      • 6 Bases du langage de programmation 241
      • Généralités 241
      • Environnement client-serveur241
      • Avantages242
      • Structure d'un bloc242
      • Portée des objets243
      • Casse et lisibilité243
      • Identificateurs244
      • Commentaires244
      • Variables 244
      • Variables scalaires245
      • Affectations245
      • Restrictions245
      • Résolution de noms246
      • Opérateurs246
      • Variables de session247
      • Conventions recommandées248
      • Test des exemples 248
      • Structures de contrôle 249
      • Structures conditionnelles249
      • Structures répétitives251
      • Interactions avec la base 254
      • Extraire des données254
      • Manipuler des données256
      • Gestion des transactions 259
      • Début et fin d'une transaction259
      • Gestion des anomalies transactionnelles262
      • Transactions en lecture seule267
      • Le problème du verrou mortel [deadlock]268
      • Verrouillage manuel269
      • Contrôle des transactions270
      • Quel mode adopter ?271
      • Où placer les transactions ?271
      • Modes d'exécution SQL 272
      • Le contexte272
      • Programmation transactionnelle272
      • Les dates273
      • Les séquences275
      • Chaînes de caractères276
      • Les moteurs277
      • Portabilité278
      • Les combinaisons279
      • Exercices 281
      • 7 Programmation avancée 283
      • Sous-programmes 283
      • Généralités283
      • Procédures cataloguées284
      • Fonctions cataloguées285
      • Structure d'un sous-programme285
      • Exemples286
      • Fonction n'interagissant pas avec la base288
      • Compilation289
      • Appel d'un sous-programme289
      • Récursivité291
      • Sous-programmes imbriqués292
      • Modification d'un sous-programme293
      • Destruction d'un sous-programme293
      • Restrictions294
      • Curseurs 294
      • Généralités294
      • Instructions295
      • Parcours d'un curseur296
      • Accès concurrents [For Update]297
      • Restrictions298
      • Erreurs [codes et messages] 298
      • Exceptions 299
      • Généralités300
      • Exceptions avec Exit301
      • Exceptions avec Continue305
      • Gestion des autres erreurs [Sqlexception]306
      • Même erreur sur différentes instructions308
      • Exceptions nommées311
      • Déroutements [Signal et Resignal]313
      • Déclencheurs 320
      • Généralités320
      • À quoi sert un déclencheur ?320
      • Mécanisme général321
      • Syntaxe322
      • Déclencheurs LMD [de lignes]323
      • Appel de sous-programmes329
      • Dictionnaire des données331
      • Programmation d'une contrainte de vérification332
      • Programmation dans un déclencheur334
      • Exceptions dans un déclencheur334
      • Tables mutantes337
      • Restrictions338
      • Suppression d'un déclencheur338
      • SQL dynamique 338
      • Syntaxe339
      • Exemples340
      • Restrictions341
      • Paramètres de retour344
      • Programmation d'événements 345
      • Le contexte345
      • Création d'une planification345
      • Exemple347
      • Dictionnaire des données349
      • Modification350
      • Restrictions actuelles351
      • Gestion de XML 351
      • Fonctions XML351
      • Gestion des erreurs358
      • Limitations359
      • Chargement XML [Load XML]361
      • Gestion de JSON 366
      • Mise en place de l'environnement Document Store366
      • Les documents JSON368
      • Les collections JSON369
      • Méthodes pour les documents JSON375
      • Fonctions SQL pour JSON379
      • Exercices 392
      • Partie III Langages et outils395
      • 8 Utilisation avec Java 397
      • JDBC avec Connector/J 397
      • Classification des pilotes [drivers]398
      • Le paquetage java. sql399
      • Structure d'un programme399
      • Test de votre configuration400
      • Connexion à une base 401
      • Base Access402
      • Base MySQL403
      • Interface Connection403
      • États d'une connexion 404
      • Interfaces disponibles404
      • Méthodes génériques pour les paramètres404
      • États simples [interface Statement]405
      • Méthodes à utiliser406
      • Correspondances de types 406
      • Manipulations avec la base 408
      • Suppression de données408
      • Ajout d'enregistrements409
      • Modification d'enregistrements409
      • Extraction de données 409
      • Curseurs statiques410
      • Curseurs navigables411
      • Curseurs modifiables 415
      • Suppressions417
      • Modifications418
      • Insertions418
      • Gestion des séquences 419
      • Méthode getGeneratedKeys420
      • Curseur modifiable420
      • Interface ResultSetMetaData 421
      • Interface DatabaseMetaData 422
      • Instructions paramétrées [PreparedStatement] 424
      • Extraction de données [executeQuery]424
      • Mises à jour [executeUpdate]425
      • Instruction LDD [execute]425
      • Procédures cataloguées 426
      • Exemple427
      • Transactions 428
      • Points de validation429
      • Traitement des exceptions 430
      • Affichage des erreurs431
      • Traitement des erreurs431
      • Exercices 433
      • 9 Utilisation avec PHP 435
      • Configuration adoptée 435
      • Logiciels436
      • Fichiers de configuration436
      • Test d'Apache et de PHP437
      • Test d'Apache, de PHP et de MySQL437
      • API de PHP pour MySQL 438
      • Connexion438
      • Interactions avec la base439
      • Extractions441
      • Instructions paramétrées444
      • Gestion des séquences446
      • Traitement des erreurs447
      • Procédures cataloguées448
      • Métadonnées450
      • Style d'écriture objet454
      • Exercices 455
      • 10 Optimisations 459
      • Cadre général 459
      • Les acteurs459
      • Contexte et objectifs460
      • Causes possibles460
      • Présentation du jeu d'exemples461
      • L'optimiseur461
      • L'estimateur463
      • Les statistiques destinées à l'optimiseur 464
      • Collecte465
      • Visualisation des statistiques466
      • Quand mettre à jour les statistiques ?467
      • Outils de mesure de performances 468
      • MySQL Query Analyzer468
      • Visualisation des plans d'exécution470
      • Organisation des données 475
      • Les contraintes475
      • Indexation477
      • Jointures490
      • Index invisibles492
      • Configuration de l'optimiseur [les hints]494
      • Tables temporaires496
      • Partitionnement497
      • 11 Nouveauté des versions 8 509
      • Fonctionnalités ajoutées 509
      • Définition des données509
      • Manipulation des données510
      • Contrôle des données512
      • Requêtes514
      • Fonctions SQL519
      • Fonctions pour JSON526
      • Optimisations537
      • Fonctionnalités obsolètes 540
      • Fonctionnalités supprimées 541
      • Annexe : bibliographie et webographie543
      • Index545

  • Origine de la notice:
    • Electre
  • Disponible - A partir du 25 août 2025 - 681.84(07) SOU