Langage SQL – Introduction • Le langage SQL (« Structured Query Language ») est un langage déclaratif. • Le SQL peut : • Créer – Modifier – Supprimer • L’infrastructure de la base de données • Les tables (c’est-à-dire l’infrastructure informationnelle basée sur le modèle relationnel) • Des objets supplémentaires (séquence, index, vue, fonction, procédure, …) • Les données • Toutes les permissions sur les objets créés • Le langage SQL est un standard ISO/ANSI. Toutefois, chaque SGBD ne le supporte que partiellement et ajoute plusieurs instructions exclusives. Langage SQL – Introduction • Les acronymes suivants sont à connaître : • BD « DB » • BDR « RDB » • SGBD « DBMS » • SGBDR « RDBMS » • Les grands SGBDR sont : • Oracle / MySQL / MSSQL / PostgreSQL • Classement Langage SQL – Introduction • Sites incontournables : • w3schools simple, accessible, incluant des exercices exploratoires en ligne (très introductif) • stackoverflow le site de référence pour les informaticiens • PostgreSQL Documentation en ligne de votre SGBD (ici PostgreSQL) • PostgreSQL Tutorial un site spécialisé indépendant couvrant la base et des notions plus avancées • rextester site permettant de tester du code en ligne sans installation préalable • Ouvrages intéressants : • SQL in 10 Minutes un excellent livre pour débuter • SQL Pocket Guide un petit livre de référence • Fundamentals of Database Systems un livre couvrant en profondeur les notions fondamentales des systèmes de bases de données *** • +++ Langage SQL – Introduction • On envoi une commande au SGBD par une instruction texte nommée déclaration (« statement »). • Chaque déclaration peut retourner une erreur spécifique au contexte de l’instruction si son exécution est impossible ou refusée. • Le langage SQL n’est pas sensible à la casse. Toutefois il est recommandé d’utiliser les majuscules pour les mots réservés du langage SQL et les minuscules pour les objets de la base de données. • Selon ANSI-SQL-92, chaque instruction devrait se terminer par un « ; ». Néanmoins, plusieurs SGBD ne l’exige pas et fonctionne sans. De plus, pratiquement tous les SGBD permettent l’omission des « ; » pour une seule ligne d’instruction. Il est fortement recommandé de les mettre pour chaque ligne d’instruction. Langage SQL – Introduction • Les chaînes de caractères faisant partie des requêtes sont mise entre apostrophes : 'Lancelot Dupuis' • Une apostrophe dans une chaîne de caractères est représentée par deux apostrophes consécutifs (attention, malgré l’apparence ce n’est pas un guillemet) : 'Marcel L''Italien' • L’insertion de commentaires se fait par : • -- tiret + tiret pour une seule ligne • /* ... */ pour un bloc multiligne Langage SQL – Introduction • Le langage SQL est divisé en cinq parties principales : • DDL : Data Definition Language • CREATE – ALTER – DROP – RENAME – TRUNCATE – COMMENT • DML : Data Manipulation Language • INSERT – UPDATE – DELETE • DQL : Data Query Language • SELECT • TCL : Transaction Control Language • START/SET TRANSACTION – COMMIT – ROLLBACK – SAVEPOINT • DCL : Data Control Language* • GRANT – REVOKE