III. Langage SQL▲
Cette partie présente l'utilisation du langage SQL au sein de PostgreSQL™. La syntaxe générale de SQL y est expliquée, ainsi que la création des structures de stockage des données, le peuplement de la base et son interrogation. La partie centrale liste les types de données et les fonctions disponibles ainsi que leur utilisation dans les requêtes SQL. Le reste traite de l'optimisation de la base de données en vue d'obtenir des performances idéales.
L'information dans cette partie est présentée pour qu'un utilisateur novice puisse la suivre du début à la fin et obtenir ainsi une compréhension complète des sujets sans avoir à effectuer de fréquents sauts entre les chapitres. Les chapitres sont indépendants. Un utilisateur plus expérimenté pourra, donc, ne consulter que les chapitres l'intéressant. L'information est présentée dans un style narratif par unité thématique. Les lecteurs qui cherchent une description complète d'une commande particulière peuvent se référer à la Partie VI, « Référence ».
Pour profiter pleinement de cette partie, il est nécessaire de savoir se connecter à une base PostgreSQL™ et d'y exécuter des commandes SQL. Les lecteurs qui ne sont pas familiers avec ces prérequis sont encouragés à lire préalablement la Partie I, « Tutoriel ».
Les commandes SQL sont généralement saisies à partir du terminal interactif de PostgreSQL™, psql. D'autres programmes possédant des fonctionnalités similaires peuvent également être utilisés.
III-A. Syntaxe SQL▲
III-A-1. Structure lexicale ▲
s
III-A-2. Expressions de valeurs ▲
s
III-A-3. Fonctions appelantes ▲
s
III-B. Définition des données▲
D
III-B-1. Notions fondamentales sur les tables ▲
d
III-B-2. Valeurs par défaut ▲
d
III-B-3. Contraintes ▲
d
III-B-4. Colonnes système ▲
d
III-B-5. Modification des tables ▲
d
III-B-6. Droits ▲
d
III-B-7. Schémas ▲
d
III-B-8. L'héritage ▲
d
III-B-9. Partitionnement ▲
d
III-B-10. Données distantes ▲
d
III-B-11. Autres objets de la base de données ▲
d
III-B-12. Gestion des dépendances ▲
d
III-C. Manipulation de données▲
- D
III-C-1. Insérer des données ▲
sd
III-C-2. Actualiser les données ▲
d
III-C-3. Supprimer des données ▲
d
III-D. Requêtes▲
D
7.1. Aperçu
7.2. Expressions de table
7.3. Listes de sélection
7.4. Combiner des requêtes
7.5. Tri des lignes
7.6. LIMIT et OFFSET
7.7. Listes VALUES
7.8. Requêtes WITH (Common Table Expressions)
III-E. Types de données▲
d
III-E-1. Types numériques ▲
x
III-E-2. Types monétaires ▲
d
III-E-3. Types caractère ▲
d
III-E-4. Types de données binaires ▲
d
III-E-5. Types date/heure ▲
d
III-E-6. Type booléen ▲
d
III-E-7. Types énumération ▲
d
III-E-8. Types géométriques ▲
d
III-E-9. Types adresses réseau ▲
d
III-E-10. Type chaîne de bits ▲
d
III-E-11. Types de recherche plein texte ▲
d
III-E-12. Type UUID ▲
d
III-E-13. Type XML ▲
g
III-E-14. Types JSON ▲
d
III-E-15. Tableaux ▲
h
III-E-16. Types composites ▲
g
III-E-17. Types intervalle de valeurs ▲
f
III-E-18. Types identifiant d'objet ▲
g
III-E-19. pg_lsn Type ▲
g
III-E-20. Pseudo-Types ▲
h
III-F. Fonctions et opérateurs▲
D
III-F-1. Opérateurs logiques ▲
s
III-F-2. Opérateurs de comparaison ▲
d
III-F-3. Fonctions et opérateurs mathématiques ▲
d
III-F-4. Fonctions et opérateurs de chaînes ▲
d
III-F-5. Fonctions et opérateurs de chaînes binaires ▲
d
III-F-6. Fonctions et opérateurs sur les chaînes de bits ▲
d
III-F-7. Correspondance de motif ▲
d
III-F-8. Fonctions de formatage des types de données ▲
d
III-F-9. Fonctions et opérateurs sur date/heure ▲
d
III-F-10. 9.10. Fonctions de support enum ▲
s
III-F-11. 9.11. Fonctions et opérateurs géométriques ▲
s
III-F-12. Fonctions et opérateurs sur les adresses réseau ▲
s
III-F-13. Fonctions et opérateurs de la recherche plein texte ▲
s
III-F-14. Fonctions XML ▲
s
III-F-15. Fonctions et opérateurs JSON ▲
s
III-F-16. Fonctions de manipulation de séquences ▲
s
III-F-17. Expressions conditionnelles ▲
d
III-F-18. Fonctions et opérateurs de tableaux ▲
d
III-F-19. Fonctions et opérateurs sur les données de type range ▲
z
III-F-20. Fonctions d'agrégat ▲
s
III-F-21. Fonctions Window ▲
f
III-F-22. Expressions de sous-requêtes ▲
e
III-F-23. Comparaisons de lignes et de tableaux ▲
e
III-F-24. Fonctions retournant des ensembles ▲
e
III-F-25. Fonctions d'informations système ▲
e
III-F-26. Fonctions d'administration système ▲
e
III-F-27. Fonctions trigger ▲
j
III-F-28. Fonctions des triggers sur les événements ▲
d
III-G. Conversion de types▲
D
III-H. Index▲
D
11.5. Combiner des index multiples
11.9. Classes et familles d'opérateurs
III-I. Recherche plein texte▲
D
12.3. Contrôler la recherche plein texte
12.4. Fonctionnalités supplémentaires
12.7. Exemple de configuration
12.8. Tester et déboguer la recherche plein texte
12.9. Types d'index GiST et GIN
12.12. Migration à partir d'une recherche plein texte antérieure à 8.3
III-J. Contrôle d'accès simultané▲
D
13.2. Isolation des transactions
13.4. Vérification de cohérence des données au niveau de l'application