ToolNavs Outils IA à découvrir
Proposer Connexion
Retour à Invites de l’IA
Prompt pour requête SQL: collez la structure de la table et votre demande, recevez une requête qui tourne, expliquée étape par étape

Prompt pour requête SQL: collez la structure de la table et votre demande, recevez une requête qui tourne, expliquée étape par étape

Invites de l’IA • Admin • • 12 vues

Le vrai gain d'un prompt pour requête SQL, c'est que même qui écrit peu de requêtes peut extraire seul ses chiffres d'une base de données. Mais demander simplement « les ventes du mois dernier par magasin » oblige l'IA à deviner les noms de tables et de colonnes: si elle se trompe, c'est l'erreur, ou pire, des chiffres bien présentés construits sur de mauvaises définitions. Le prompt ci-dessous donne d'abord la structure et le type de base, puis inscrit dans les règles « des requêtes seulement, aucune colonne inventée, une méthode de contrôle avant tout ». Copiez-le, remplissez les variables, lancez-le.

Avant de commencer, préparez ces trois éléments

  1. La structure de la table: un CREATE TABLE convient, une liste de colonnes avec nom, type et une phrase d'explication par colonne aussi. Si deux tables ou plus doivent être jointes, indiquez par quelle colonne. Si la structure est vraiment introuvable, faites demander à l'IA ce qui lui manque plutôt que de la laisser écrire à l'aveugle.
  2. Le type de base de données: nommez l'un de ces systèmes: MySQL, PostgreSQL, SQL Server ou SQLite. Les fonctions de date et la syntaxe de pagination diffèrent d'un système à l'autre; sans précision, l'IA choisit un dialecte qui plantera ailleurs.
  3. La forme du résultat: donnez une ligne d'exemple, ou précisez les colonnes voulues, le tri et s'il faut un regroupement. La même phrase « vérifier les ventes » peut désigner un total unique, un détail par jour ou un détail par magasin: trois requêtes entièrement différentes.

Si vos données vivent encore dans un fichier tableur plutôt que dans une base, SQL est un détour inutile: analyser la feuille directement avec le prompt pour analyser des données Excel avec l'IA va plus vite. Revenez à celui-ci quand les données seront dans une base et qu'il faudra les extraire régulièrement.

Copiez ce prompt tel quel

# Rôle
Tu es un analyste de données qui connaît très bien {{type de base}}. Écris les requêtes uniquement à partir de la structure que je te donne; ne devine jamais une colonne qui n'y figure pas, et demande-moi d'abord ce qui manque.

# Entrées
Type de base: {{type de base}}
Structure de la table: {{structure de la table}}
Ce que je veux savoir: {{ma question}}
Définitions et périmètre: {{définitions}}

# Règles
1. Écris uniquement des requêtes SELECT — rien qui insère, supprime ou modifie des données;
2. Utilise seulement les noms de tables et de colonnes présents dans la structure; si un filtre de ma question est flou, liste les points ambigus et demande-moi au lieu de supposer;
3. Traite la période exactement selon les définitions, et indique la colonne de temps utilisée ainsi que si les jours de bord sont inclus;
4. Pour les montants et les comptages, précise l'agrégation utilisée (somme, comptage ou comptage de valeurs distinctes); traite les valeurs vides selon les définitions, et demande-moi si elles n'en disent rien;
5. Donne-moi d'abord une requête de contrôle qui compte les lignes, pour que je confirme le nombre avant la vraie requête;
6. Après la vraie requête, explique ce que fait chaque partie, section par section, et indique les colonnes du résultat que je dois vérifier avec le plus de soin.

# Format de sortie
D'abord les questions que tu dois me faire confirmer (écris « aucune » s'il n'y en a pas);
ensuite la requête de contrôle qui compte;
ensuite la vraie requête, dans un bloc de code;
enfin l'explication section par section, plus une façon de vérifier une ligne à la main.

Avec une table de commandes, les variables se remplissent ainsi

  • {{type de base}}: MySQL 8.0
  • {{structure de la table}}: une table orders avec les colonnes order_id (numéro de commande), store_name (magasin), amount (montant), pay_time (heure de paiement) et status (paid signifie payé, refunded signifie remboursé)
  • {{ma question}}: pour le mois dernier, par magasin, le montant total et le nombre de commandes payées, triés par montant total du plus élevé au plus bas
  • {{définitions}}: ne compter que les commandes dont le status vaut paid; la période passe par pay_time, et « mois dernier » désigne le mois calendaire précédent; les commandes au montant vide n'entrent pas dans le total, mais dis-moi dans l'explication combien il y en a

Une fois les champs remplis, la requête de contrôle que l'IA renvoie en premier est l'étape décisive: exécutez-la dans votre base et comparez le nombre avec le comptage de commandes exporté de votre outil métier. Ne lancez la vraie requête que si les deux concordent. Sinon, ce sont les définitions ou la colonne de temps qui ont été mal comprises, et corriger les définitions ira plus vite que corriger la requête elle-même.

Le résultat sous les yeux, vérifiez ces trois points avant de l'utiliser

  1. Recoller le total: les nombres de commandes par magasin du vrai résultat, additionnés, doivent redonner exactement le nombre de la requête de contrôle. Quand ce n'est pas le cas, la cause habituelle est une jointure qui a multiplié les lignes, comptant une commande plusieurs fois.
  2. Recalculer une ligne à la main: choisissez un magasin et calculez son sous-total séparément, avec un filtre ou la deuxième requête la plus simple possible. C'est seulement quand les deux valeurs concordent que l'agrégation est vraiment juste.
  3. Regarder les bords: examinez l'heure la plus ancienne et la plus récente du résultat, et confirmez qu'aucun jour en trop ne s'est glissé et qu'aucun ne manque; surveillez aussi si des lignes au montant vide ou au statut bizarre ont été comptées en silence.

En cas d'erreur ou de chiffres douteux, relancez ainsi

  • Pour une erreur: « Voici le message d'erreur exact: {{message d'erreur}}. Ne change que la partie qui échoue, laisse tout le reste inchangé, et dis-moi ce que tu as changé. »
  • Pour des chiffres trop grands: « Le résultat est environ {{facteur}} fois plus grand qu'attendu. Vérifie si une jointure a gonflé le nombre de lignes, et liste un par un les endroits où un double comptage est possible. »
  • Pour une exécution lente: « Cette requête a pris {{temps d'exécution}} sur environ {{volume de données}} de données. Réécris-la sans changer le résultat, et dis-moi quelle colonne devrait recevoir un index. »

Chacune de ces relances transporte une information concrète du terrain — le message d'erreur exact, le facteur, le volume de données — pour que l'IA répare un point précis. Un simple « c'est faux, recommence » la force à démolir toute la requête et à deviner à nouveau, et chaque tour l'éloigne un peu plus du juste.

Outils Recommandés

Plus