Bases des requêtes
Ce guide vous apprendra les fondamentaux de l'écriture, de l'exécution et de la gestion des requêtes SQL en utilisant l'éditeur de requêtes puissant de HarborDB.
Bienvenue dans le monde des requêtes SQL avec HarborDB ! Ce guide vous apprendra les fondamentaux de l'écriture, de l'exécution et de la gestion des requêtes SQL en utilisant l'éditeur de requêtes puissant de HarborDB.
Introduction à SQL dans HarborDB
L'éditeur de requêtes de HarborDB est conçu pour rendre l'écriture et l'exécution des requêtes SQL intuitives et efficaces. Que vous récupériez des données, mettiez à jour des enregistrements ou créiez des objets de base de données, HarborDB fournit un flux de travail rationalisé avec des fonctionnalités comme la coloration syntaxique, l'auto-complétion et les résultats en temps réel.
Caractéristiques clés de l'éditeur de requêtes
- Coloration syntaxique : Les mots-clés SQL, les fonctions et les littéraux sont colorés pour une meilleure lisibilité
- Auto-complétion : Les noms de tables, de colonnes et les mots-clés SQL sont suggérés au fur et à mesure que vous tapez
- Onglets multiples : Travaillez avec plusieurs requêtes simultanément dans des onglets séparés
- Volet des résultats : Visualisez les résultats des requêtes immédiatement sous votre éditeur
- Options d'exportation : Exportez les résultats vers CSV ou JSON en un clic
- Historique des requêtes : Accédez aux requêtes récemment exécutées
- Signets : Enregistrez les requêtes fréquemment utilisées pour un accès rapide
Écrire votre première requête
Instruction SELECT de base
La requête SQL la plus fondamentale récupère des données d'une table :
SELECT * FROM users;
Cette requête :
- SELECT * : Retourne toutes les colonnes de la table
- FROM users : Spécifie la table à interroger
- ; : Termine l'instruction (optionnel dans HarborDB)
Sélection de colonnes spécifiques
Pour récupérer uniquement des colonnes spécifiques :
SELECT first_name, last_name, email FROM users;
Limitation des résultats
Lorsque vous travaillez avec de grandes tables, il est recommandé de limiter les résultats :
SELECT * FROM orders LIMIT 10;
L'interface de l'éditeur de requêtes
Composants principaux
- Zone d'édition : Écrivez vos requêtes SQL ici
- Barre d'outils : Contrôles d'exécution, d'annulation, de formatage et d'exportation
- Volet des résultats : Affiche les résultats des requêtes et les informations d'exécution
- Barre d'état : Montre les informations de connexion, le nombre de lignes et le temps d'exécution
Raccourcis clavier
| Raccourci | Action |
| --------------- | -------------------------- |
| ⌘ + R | Exécuter la requête |
| ⌘ + . | Annuler la requête |
| ⌘ + T | Nouvel onglet de requête |
| ⌘ + W | Fermer l'onglet actuel |
| ⌘ + S | Sauvegarder la requête |
| ⌘ + F | Rechercher dans la requête |
| ⌘ + / | Basculer les commentaires |
| Tab | Indenter la sélection |
| Shift + Tab | Désindenter la sélection |
Exécution des requêtes
Exécution étape par étape
- Écrivez votre requête dans l'éditeur
- Cliquez sur le bouton Exécuter (▶) ou appuyez sur
⌘ + R - Visualisez les résultats dans le volet des résultats
- Vérifiez les informations d'exécution dans la barre d'état
Exécution partielle d'une requête
Vous pouvez exécuter seulement une partie d'une requête :
- Sélectionnez le texte que vous voulez exécuter
- Clic droit et choisissez "Exécuter la sélection"
- Ou utilisez le raccourci clavier
⌘ + Shift + R
Résultats d'exécution
Après avoir exécuté une requête, vous verrez :
- Grille des résultats : Les données affichées dans un tableau triable et filtrable
- Nombre de lignes : Nombre total de lignes retournées
- Temps d'exécution : Durée d'exécution de la requête
- Messages : Tous les messages de PostgreSQL (surtout pour les requêtes DML)
Filtrage des données avec WHERE
Clause WHERE de base
SELECT * FROM products WHERE price > 100;
Conditions multiples
SELECT * FROM orders
WHERE status = 'shipped'
AND order_date >= '2024-01-01';
Correspondance de motifs avec LIKE
SELECT * FROM customers
WHERE email LIKE '%@gmail.com';
SELECT * FROM products
WHERE name LIKE 'Pro%';
Valeurs NULL
-- Trouver les lignes où email est NULL
SELECT * FROM users WHERE email IS NULL;
-- Trouver les lignes où email n'est PAS NULL
SELECT * FROM users WHERE email IS NOT NULL;
Tri des résultats avec ORDER BY
Ordre croissant (par défaut)
SELECT * FROM products ORDER BY price;
Ordre décroissant
SELECT * FROM products ORDER BY price DESC;
Colonnes de tri multiples
SELECT * FROM employees
ORDER BY department, last_name, first_name;
Travail avec les résultats
Visualisation des résultats
- Défilement : Naviguez dans les résultats avec la souris ou le clavier
- Tri : Cliquez sur les en-têtes de colonnes pour trier par ordre croissant/décroissant
- Filtrage : Clic droit sur les en-têtes de colonnes pour filtrer les valeurs
- Redimensionnement : Faites glisser les bordures des colonnes pour ajuster la largeur
- Réorganisation : Faites glisser les en-têtes de colonnes pour réorganiser les colonnes
Opérations sur les cellules
- Copier une cellule : Double-cliquez sur une cellule ou appuyez sur
⌘ + C - Modifier une cellule : Double-cliquez et modifiez (pour changements locaux uniquement)
- Voir le contenu complet : Survolez les cellules tronquées pour voir l'info-bulle
Exportation des résultats
- Cliquez sur le bouton Exporter dans la barre d'outils
- Choisissez le format : CSV ou JSON
- Sélectionnez la destination : Enregistrer dans un fichier ou copier dans le presse-papiers
- Configurez les options : Délimiteurs, encodage, en-têtes
Sauvegarde et organisation des requêtes
Sauvegarde des requêtes
- Cliquez sur Enregistrer (
⌘ + S) ou l'icône de sauvegarde - Choisissez l'emplacement : Fichier local ou bibliothèque HarborDB
- Ajoutez des métadonnées : Nom, description, étiquettes
Bibliothèque de requêtes
Organisez les requêtes sauvegardées dans des dossiers :
- Favoris : Étoilez les requêtes fréquemment utilisées
- Récentes : Suivez automatiquement les requêtes récemment utilisées
- Étiquettes : Catégorisez les requêtes avec des étiquettes personnalisées
Modèles de requêtes
Créez des modèles réutilisables pour les requêtes courantes :
-- Modèle : Trouver les utilisateurs inactifs
SELECT user_id, email, last_login
FROM users
WHERE last_login < CURRENT_DATE - INTERVAL '90 days'
AND active = true;
Modèles de requêtes courants
Comptage d'enregistrements
SELECT COUNT(*) FROM users;
SELECT COUNT(DISTINCT country) FROM customers;
Agrégation de données
SELECT
category,
COUNT(*) as product_count,
AVG(price) as avg_price,
MIN(price) as min_price,
MAX(price) as max_price
FROM products
GROUP BY category;
Requêtes de date/heure
-- Commandes d'aujourd'hui
SELECT * FROM orders WHERE order_date = CURRENT_DATE;
-- 7 derniers jours
SELECT * FROM logs
WHERE log_date >= CURRENT_DATE - INTERVAL '7 days';
-- Par mois
SELECT
EXTRACT(MONTH FROM order_date) as month,
COUNT(*) as order_count
FROM orders
GROUP BY EXTRACT(MONTH FROM order_date)
ORDER BY month;
Jointure de tables
SELECT
o.order_id,
o.order_date,
c.first_name,
c.last_name,
c.email
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
WHERE o.status = 'completed';
Bonnes pratiques
1. Commencez avec SELECT *
Lorsque vous explorez une nouvelle table, utilisez SELECT * pour voir toutes les colonnes, puis affinez pour des colonnes spécifiques.
2. Utilisez LIMIT
Utilisez toujours LIMIT lorsque vous interrogez des tables non familières pour éviter des résultats écrasants.
3. Formatez vos requêtes
Utilisez un formatage cohérent pour la lisibilité :
- Mots-clés en majuscules
- Indentation pour les requêtes complexes
- Sauts de ligne pour les clauses longues
4. Commentez votre code
Ajoutez des commentaires pour les requêtes complexes :
-- Calculer les revenus mensuels par catégorie de produit
-- Excluant les commandes remboursées et les comptes de test
SELECT
DATE_TRUNC('month', order_date) as month,
category,
SUM(amount) as total_revenue
FROM orders
WHERE status != 'refunded'
AND customer_id NOT IN (SELECT customer_id FROM test_accounts)
GROUP BY DATE_TRUNC('month', order_date), category
ORDER BY month DESC, total_revenue DESC;
5. Testez avec WHERE 1=0
Pour voir la structure des colonnes sans récupérer de données :
SELECT * FROM large_table WHERE 1=0;
Dépannage des problèmes courants
"La relation n'existe pas"
- Vérifiez l'orthographe du nom de la table et la sensibilité à la casse
- Vérifiez que vous êtes connecté à la bonne base de données
- Assurez-vous d'avoir les permissions appropriées
"La colonne n'existe pas"
- Vérifiez les noms de colonnes dans la clause SELECT
- Vérifiez les fautes de frappe
- Utilisez d'abord
SELECT *pour voir toutes les colonnes disponibles
Requêtes lentes
- Ajoutez
LIMITpour tester les performances - Vérifiez les index manquants
- Utilisez
EXPLAINpour analyser le plan de requête - Considérez les facteurs de performance côté serveur
Erreurs de connexion
- Vérifiez que la connexion est active
- Vérifiez la connectivité réseau
- Confirmez que le serveur PostgreSQL est en cours d'exécution
Prochaines étapes
Maintenant que vous comprenez les bases des requêtes :
- Pratiquez avec vos propres tables de base de données
- Explorez le guide Techniques de requêtes avancées
- Apprenez sur l'Exportation de données
- Essayez les techniques d'Optimisation des performances
Référence rapide
Clauses SQL essentielles
SELECT- Choisir les colonnes à retournerFROM- Spécifier la table à interrogerWHERE- Filtrer les lignesORDER BY- Trier les résultatsLIMIT- Restreindre le nombre de lignesGROUP BY- Agréger les donnéesHAVING- Filtrer les données agrégées
Fonctions courantes
COUNT()- Compter les lignesSUM()- Somme des valeursAVG()- Moyenne des valeursMIN()/MAX()- Trouver les extrêmesCOALESCE()- Gérer les valeurs NULLCONCAT()- Combiner des chaînesEXTRACT()- Extraire des parties de date
Cela vous a-t-il été utile ?
Aidez-nous à améliorer cette documentation en fournissant des commentaires.