Voici une cheatsheet PostgreSQL complète en français :
Bases & syntaxe
Connexion à la base de données
psql -h hostname -U username -d database_name
Se connecter à une base de données spécifique
Création d'une nouvelle base de données
CREATE DATABASE mydatabase;
Créer une nouvelle base de données
Suppression d'une base de données
DROP DATABASE mydatabase;
Supprimer une base de données
Création d'une table
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
Créer une table avec des contraintes
Structures de données
Ajout d'un nouvel enregistrement
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
Insérer un nouveau enregistrement dans la table
Modification d'un enregistrement
UPDATE users SET name = 'Jane Doe' WHERE id = 1;
Mettre à jour un enregistrement existant
Suppression d'un enregistrement
DELETE FROM users WHERE id = 2;
Supprimer un enregistrement existant
Fonctions & methodes essentielles
Sélection des données
SELECT name, email FROM users WHERE age > 18;
Sélectionner des colonnes spécifiques avec des critères
Trier les résultats
SELECT * FROM users ORDER BY created_at DESC;
Trier les résultats par une colonne en ordre décroissant
Limiter le nombre de résultats
SELECT name FROM users LIMIT 10 OFFSET 5;
Limiter la taille du résultat et sa pagination
Patterns courants
Jointures entre tables
SELECT users.name, orders.amount
FROM users
JOIN orders ON users.id = orders.user_id;
Effectuer une jointure entre deux tables
Sous-requêtes
SELECT name FROM users WHERE id IN (SELECT user_id FROM orders);
Utiliser des sous-requêtes pour filtrer les données
Operations avancees
Transactions
BEGIN;
UPDATE users SET balance = balance - 100 WHERE id = 1;
INSERT INTO transactions (user_id, amount) VALUES (1, -100);
COMMIT;
Gérer des transactions avec ACID properties
Indexation
CREATE INDEX idx_users_email ON users(email);
Créer un index pour améliorer les performances de recherche
Debugging & outils
Afficher les erreurs SQL
DO $$
BEGIN
PERFORM 1/0; -- Génère une erreur division par zéro
EXCEPTION WHEN OTHERS THEN
RAISE NOTICE 'Erreur : %', SQLERRM;
END $$;
Capturer et afficher les erreurs SQL
Utiliser pgAdmin pour la gestion de la base de données
pgAdmin est un outil graphique open source pour PostgreSQL.
Utilisez-le pour créer, modifier et gérer vos bases de données.
Interface graphique pour faciliter le travail avec PostgreSQL