ToolNavs KI-Tools entdecken
Tool einreichen Anmelden
Zurück zu KI-Eingabeaufforderungen
SQL-Abfrage per Prompt: Tabellenstruktur und Wunsch einfügen, lauffähige Abfrage mit Erklärung Schritt für Schritt erhalten

SQL-Abfrage per Prompt: Tabellenstruktur und Wunsch einfügen, lauffähige Abfrage mit Erklärung Schritt für Schritt erhalten

KI-Eingabeaufforderungen • Admin • • 13 Aufrufe

Der eigentliche Gewinn eines Prompts für SQL-Abfragen: Auch wer kaum Abfragen schreibt, kann seine Zahlen selbst aus der Datenbank holen. Wer aber nur fragt „Zeig mir die Umsätze pro Filiale im letzten Monat“, zwingt die KI, Tabellen- und Spaltennamen zu raten — liegt sie daneben, gibt es einen Fehler oder, schlimmer, sauber aussehende Zahlen auf völlig falschen Definitionen. Der Prompt unten nennt zuerst Tabellenstruktur und Datenbanktyp und schreibt dann „nur Abfragen, keine Spalte erfinden, zuerst einen Weg zum Prüfen liefern“ in die Regeln. Kopieren, Variablen ausfüllen, laufen lassen.

Vor dem Start diese drei Dinge bereitlegen

  1. Die Tabellenstruktur: Ein CREATE TABLE ist ideal, eine Spaltenliste mit Name, Typ und einem Satz Erklärung pro Spalte genügt auch. Müssen zwei oder mehr Tabellen verbunden werden, markieren Sie, über welche Spalte das geschieht. Kommen Sie an die Struktur wirklich nicht heran, lassen Sie die KI erst fragen, was ihr fehlt, statt blind schreiben zu lassen.
  2. Der Datenbanktyp: Nennen Sie eines der Systeme MySQL, PostgreSQL, SQL Server oder SQLite. Datumsfunktionen und die Schreibweise für Seitenausschnitte unterscheiden sich; ohne Angabe nimmt die KI einen Dialekt an, der auf einem anderen System Fehler wirft.
  3. Wie das Ergebnis aussehen soll: Geben Sie eine Beispielzeile an, oder sagen Sie, welche Spalten Sie brauchen, in welcher Sortierung und ob aggregiert werden soll. Derselbe Satz „Umsätze prüfen“ kann eine Gesamtsumme, eine Aufteilung nach Tagen oder eine nach Filialen meinen — drei völlig verschiedene Abfragen.

Liegen Ihre Daten noch in einer Tabellendatei statt in einer Datenbank, ist SQL ein Umweg: Die Tabelle direkt mit dem Prompt zur Excel-Datenanalyse mit KI auszuwerten geht schneller. Zu diesem Prompt hier kehren Sie zurück, sobald die Daten in einer Datenbank liegen und Sie sie wiederholt abrufen müssen.

Diesen Prompt unverändert kopieren

# Rolle
Du bist ein Datenanalyst, der {{Datenbanktyp}} sehr gut kennt. Schreibe Abfragen nur aus der Tabellenstruktur, die ich dir gebe; rate keine Spalte, die nicht darin steht, und frage mich zuerst, wenn Angaben fehlen.

# Eingaben
Datenbanktyp: {{Datenbanktyp}}
Tabellenstruktur: {{Tabellenstruktur}}
Meine Frage: {{Meine Frage}}
Definitionen und Abgrenzung: {{Definitionen}}

# Regeln
1. Schreibe nur SELECT-Abfragen — nichts, was Daten einfügt, löscht oder verändert;
2. Verwende nur Tabellen- und Spaltennamen, die in der Struktur vorkommen; ist ein Filter in meiner Frage unklar, liste die offenen Punkte auf und frage mich, statt etwas anzunehmen;
3. Behandle den Zeitraum genau nach den Definitionen und nenne die verwendete Zeitspalte sowie, ob die Grenztage eingeschlossen sind;
4. Nenne bei Beträgen und Anzahlen die verwendete Aggregation (Summe, Anzahl oder Anzahl unterschiedlicher Werte); behandle leere Werte nach den Definitionen und frage mich, wenn sie dazu nichts sagen;
5. Gib mir zuerst eine Prüf-Abfrage, die nur Zeilen zählt, damit ich die Zahl bestätigen kann, bevor die eigentliche Abfrage kommt;
6. Erkläre nach der eigentlichen Abfrage Abschnitt für Abschnitt, was jeder Teil tut, und zeige mir, welche Spalten des Ergebnisses ich besonders sorgfältig prüfen sollte.

# Ausgabeformat
Zuerst die Fragen, die ich bestätigen muss (schreibe „keine“, wenn es keine gibt);
dann die Prüf-Abfrage zum Zählen;
dann die eigentliche Abfrage in einem Codeblock;
zuletzt die Erklärung Abschnitt für Abschnitt und ein Weg, eine einzelne Zeile von Hand zu prüfen.

Mit einer Bestelltabelle sehen die Variablen so aus

  • {{Datenbanktyp}}: MySQL 8.0
  • {{Tabellenstruktur}}: eine Tabelle orders mit den Spalten order_id (Bestellnummer), store_name (Filiale), amount (Betrag), pay_time (Zahlungszeit) und status (paid bedeutet bezahlt, refunded bedeutet erstattet)
  • {{Meine Frage}}: für den letzten Monat, pro Filiale, der Gesamtbetrag und die Anzahl der bezahlten Bestellungen, sortiert nach Gesamtbetrag von hoch nach niedrig
  • {{Definitionen}}: Zähle nur Bestellungen mit status gleich paid; der Zeitraum läuft über pay_time, und „letzter Monat“ meint den vorigen Kalendermonat; Bestellungen mit leerem Betrag zählen nicht in die Summe, aber nenne mir in der Erklärung, wie viele es davon gibt

Sind die Felder ausgefüllt, ist die Prüf-Abfrage, die die KI zuerst liefert, der entscheidende Schritt: Führen Sie sie in Ihrer Datenbank aus und vergleichen Sie die Zahl mit der Bestellanzahl aus Ihrem Geschäftssystem. Erst wenn beide übereinstimmen, führen Sie die eigentliche Abfrage aus. Stimmen sie nicht, wurden Definitionen oder die Zeitspalte falsch verstanden — dann ist es schneller, die Definitionen zu korrigieren als die Abfrage selbst.

Liegt das Ergebnis vor, prüfen Sie diese drei Schritte, bevor Sie es verwenden

  1. Summe abgleichen: Die Bestellanzahlen pro Filiale im eigentlichen Ergebnis müssen addiert genau die Zahl der Prüf-Abfrage ergeben. Tun sie es nicht, hat meist eine Verknüpfung die Zeilen vervielfacht und eine Bestellung mehrfach gezählt.
  2. Eine Zeile von Hand nachrechnen: Wählen Sie eine Filiale und berechnen Sie ihre Zwischensumme getrennt, mit einem Filter oder der einfachsten zweiten Abfrage. Erst wenn beide Werte übereinstimmen, sitzt die Aggregation wirklich richtig.
  3. Ränder ansehen: Sehen Sie sich die früheste und die späteste Zeit im Ergebnis an und bestätigen Sie, dass kein Tag zu viel hineingerutscht und keiner verlorengegangen ist; achten Sie auch darauf, ob Zeilen mit leerem Betrag oder auffälligem Status still mitgezählt wurden.

Bei Fehlern oder falschen Zahlen so nachfragen

  • Bei einem Fehler: „Hier ist die genaue Fehlermeldung: {{Fehlermeldung}}. Ändere nur die Stelle, die scheitert, lasse alles andere unverändert und sage mir, was du geändert hast.“
  • Bei zu grossen Zahlen: „Das Ergebnis ist etwa um den Faktor {{Faktor}} grösser als erwartet. Prüfe, ob eine Verknüpfung die Zeilenzahl aufgebläht hat, und liste einzeln auf, wo doppelt gezählt werden könnte.“
  • Bei langsamer Ausführung: „Diese Abfrage brauchte {{Laufzeit}} bei etwa {{Datenmenge}} Daten. Schreibe sie um, ohne das Ergebnis zu verändern, und sage mir, welche Spalte einen Index bekommen sollte.“

Jede dieser Nachfragen trägt konkrete Informationen von vor Ort — die genaue Fehlermeldung, den Faktor, die Datenmenge —, damit die KI genau eine Stelle reparieren kann. Ein blosses „Das ist falsch, mach es neu“ zwingt sie, die ganze Abfrage abzureissen und erneut zu raten, und mit jeder Runde driftet sie weiter ab.

Empfohlene Tools

Mehr