Hoe ChatGPT te gebruiken om SQL-querys te schrijven

Het schrijven van SQL-query's kan tijdrovend en uitdagend zijn. Als u oplossingen moet bedenken voor specifieke bedrijfsscenario's, moet u er zeker van zijn dat uw vragen zowel efficiënt als nauwkeurig zijn.

ChatGPT is een AI-tool die is getraind op een enorme hoeveelheid technische tekst, waaronder SQL. Het kan vragen over SQL-syntaxis beantwoorden, SQL-query's genereren of de uitvoer van een bepaalde SQL-query uitleggen.

Door ChatGPT te gebruiken voor het genereren van SQL-query's, kunt u zich richten op taken op een hoger niveau, zoals het ontwerpen van rapporten en gegevensstromen. Dit bespaart u niet alleen tijd, maar zorgt ook voor de kwaliteit en effectiviteit van uw data-analyse.

Aan het einde van dit artikel heeft u een goed begrip van hoe u ChatGPT kunt gebruiken om u te helpen bij het schrijven van SQL-query's.

Inhoudsopgave

Voordelen van het gebruik van ChatGPT voor SQL-query's

Hoe ChatGPT te gebruiken om SQL-query's te schrijven

ChatGPT is een krachtige AI-tool die natuurlijke taal begrijpt. Het kan dienen als een waardevol hulpmiddel voor zowel beginners als doorgewinterde ontwikkelaars.

Beginners kunnen de syntaxis van SQL complex en moeilijk te onthouden vinden. ChatGPT kan helpen door verzoeken in natuurlijke taal om te zetten in SQL-query's. Dit maakt het leren van SQL interactiever en minder ontmoedigend, aangezien u de vertaling van gewoon Engels in SQL in realtime kunt zien.

Ervaren ontwikkelaars kunnen merken dat het formuleren van complexe SQL-query's met meerdere tabellen en voorwaarden tijdrovend kan zijn. ChatGPT kan het proces versnellen door query-skeletten te genereren of zelfs query's te voltooien op basis van de taak die in natuurlijke taal wordt beschreven.

Dit vermindert ook de kans op syntaxisfouten. Over fouten gesproken, ChatGPT kan ook helpen bij het debuggen van SQL-query's door mogelijke oplossingen of uitleg te geven. Het kan ook verschillende manieren voorstellen om een ​​query te optimaliseren voor betere prestaties.

Als u een meer algemene introductie van de tool wilt, bekijk dan deze artikelen:

Als u aan de slag wilt gaan met het gebruik ervan voor SQL-query's, lees dan verder.

Aan de slag met ChatGPT voor SQL-query's

Als u nog geen Open AI-account heeft (het is gratis!), volgt u deze stappen.

  1. Start een browser en ga naar https://chat.openai.com/ .

  2. Klik op de aanmeldknop.

  3. Meld u aan met een e-mailadres, een Microsoft-account of een Google-account.

  4. Geef een telefoonnummer op ter verificatie.

Wanneer u zich aanmeldt, kunt u direct beginnen met het verzenden van berichten om te worden beantwoord. Uw bericht staat bekend als een ChatGPT-prompt .

Dit artikel laat u tal van voorbeelden zien om u vertrouwd te maken met het gebruik van de tool terwijl u met SQL werkt.

Hoe u uw ChatGPT-sessies start voor SQL-query's

Verschillende databaseleveranciers hebben de standaard SQL-code uitgebreid met eigen syntaxis.

Microsoft heeft bijvoorbeeld Transact-SQL (afgekort als T-SQL) voor interactie met een Microsoft SQL Server-instantie. T-SQL heeft een syntaxis die niet werkt op een ander type SQL-database, zoals MySQL of PostgreSQL.

PostgreSQL is een opensource-extensie met extra opdrachten en syntaxis die niet op SQL Server of Oracle kunnen worden uitgevoerd.

Dit betekent dat wanneer u ChatGTP vraagt ​​om een ​​SQL-query te leveren met behulp van de uitgebreide functies van het databasesysteem, u uw Chat-sessie moet beginnen door duidelijk te maken welke implementatie van SQL u gebruikt.

U kunt uw sessie beginnen met een statement als " Ik werk met Microsoft SQL Server." en stel je vraag in de volgende zin.

Om het eenvoudiger te maken, kunt u gebruik maken van " With SQL Server , how do I ...?" bij vragen over een concept of term.

Voor de rest van dit artikel zal ik me concentreren op standaard SQL-query's die werken op alle belangrijke databasebeheersystemen.

Hoe u uw intenties voor Chat kunt verwoordenGPT

Het is belangrijk om uw intenties duidelijk te verwoorden naar ChatGPT.

Begin met het beschrijven van de structuur van uw tabellen, zodat ChatGPT inzicht heeft in het datamodel waarmee u werkt. Noem de namen en relaties van de tabellen, evenals de kolommen en hun gegevenstypen. Bijvoorbeeld:

Ik heb twee tabellen: bestellingen en klanten. De tabel met bestellingen heeft de kolommen id, customer_id, product en prijs. De klantentabel heeft de kolommen id, naam en e-mail. De customer_id in de ordertabel is een externe sleutel die verwijst naar de id-kolom in de klantentabel.

Leg vervolgens eenvoudig de specifieke zoekopdracht uit die u wilt genereren in natuurlijke taal ( menselijke tekst in plaats van code ).

Wees zo nauwkeurig mogelijk om ChatGPT te helpen begrijpen waarnaar u op zoek bent. Bijvoorbeeld:

Schrijf een SQL-query die de totale omzet van elke klant vindt door de som van de prijzen van hun bestellingen te berekenen.

ChatGPT retourneert een SQL-query met een uitsplitsing van de verschillende onderdelen. Kijk eens naar het volgende voorbeeld van een select statement:

Hoe ChatGPT te gebruiken om SQL-query's te schrijven

De AI-technologie heeft een SQL-query gegenereerd op basis van de tabelnamen en het verzoek dat u hebt opgegeven.

Maar daar stopt de tool niet alleen. Het wijst op een aantal extra dingen:

  • Wanneer u in plaats daarvan een LEFT JOIN zou willen gebruiken.

  • U kunt de ID gebruiken in plaats van de NAAM als klantnamen niet uniek zijn.

Verzoeken formuleren op basis van queryresultaten

Om met ChatGPT betere queryresultaten te behalen, kunt u complexe verzoeken opsplitsen in kleinere stukjes om een ​​conversatiestroom te behouden.

Stel dat u een complexere zoekopdracht wilt die klanten filtert op basis van hun stad.

U kunt de chatsessie voortzetten door deze nieuwe informatie te verstrekken.

Ik heb een andere tabel met de naam customer_address met de kolommen id, customer_id, street, city, state. De customer_id is een externe sleutel voor de klantentabel.

Wijzig de vorige SQL-query om te filteren op klanten uit Chicago.

ChatGPT retourneert de gewijzigde query met een nieuwe WHERE-clausule.

Als je geen ervaring hebt met SQL, is dit een geweldige manier om je kennis op te bouwen.

Vergeet niet om uw verzoeken beknopt en binnen de relevante context te houden om een ​​soepele ervaring met ChatGPT te garanderen.

4 best practices voor het genereren van query's

Hier zijn enkele tips om ervoor te zorgen dat de SQL-code die ChatGPT produceert de juiste oplossing is:

  • Wees specifiek met tabel- en kolomnamen om dubbelzinnigheid te voorkomen.

  • Vermeld duidelijk eventuele voorwaarden, filters of sorteervereisten.

  • Geef het gewenste uitvoerformaat op, zoals kolommen of aggregaties.

  • Geef indien nodig voorbeelden van vergelijkbare complexe query's.

Hoe nauwkeuriger u bent in uw beschrijving, hoe beter de gegenereerde zoekopdracht zal zijn.

2 manieren om te optimaliseren voor prestaties

Wanneer u ChatGPT gebruikt om SQL-query's te genereren, is het cruciaal om rekening te houden met het prestatieaspect van de query's. Hier zijn twee manieren om SQL-query's te optimaliseren voor prestaties:

  • gebruik de juiste indexen

  • het vermijden van al te complexe SQL-query's

Gebruik geschikte indexen

In sommige extensies van SQL is het mogelijk om op te geven dat de query een specifieke index moet gebruiken, maar dit wordt niet als goede praktijk beschouwd. Als het databaseschema of het gegevensprofiel in de loop van de tijd verandert, kunt u eindigen met een query die gedwongen wordt een inefficiënte index te gebruiken.

Wel kunt u ChatGPT om advies vragen over optimale indexen voor uw zoekopdracht. Hier is een voorbeeld.

Ik wil een of meer indexen maken die deze query zo efficiënt mogelijk maken. Gelieve te helpen.

ChatGPT zal indexen aanbevelen en de redenen achter de keuzes geven.

Het is belangrijk dat SQL-ontwikkelaars niet blindelings alle voorgestelde indexen maken. Ze zijn mogelijk niet geschikt voor de feitelijke gegevens. Ik raad je aan om ze allemaal te proberen en te testen.

Vermijd al te complexe vragen

Een van de voordelen van het opbouwen van uw zoekopdrachten, zoals we in het vorige gedeelte hebben voorgesteld, is dat u minder snel een lange, complexe zoekopdracht krijgt die moeilijk te lezen en te onderhouden is.

Als ChatGPT u een query geeft met meerdere subquery's die moeilijk te volgen zijn, kunt u aangeven dat er een alternatief script moet worden geleverd dat meerdere query's en een of meer tijdelijke tabellen gebruikt.

Stel dat ik besloot dat het filteren van zoekopdrachten op "Chicago" te ingewikkeld was (dat is het niet!). Ik zou ChatGPT als volgt instrueren:

Ik wil de vorige query opsplitsen in twee afzonderlijke query's die een tijdelijke tabel gebruiken. Het script moet dezelfde resultaten bereiken.

De altijd behulpzame ChatGPT valt bijna over zichzelf heen om uw biedingen uit te voeren. Het zegt:

Natuurlijk kunnen we dezelfde resultaten bereiken door eerst een tijdelijke tabel te maken om de totale omzet voor elke klant op te slaan, en vervolgens deze tijdelijke tabel te doorzoeken om te filteren op klanten uit Chicago.

De tool gaat verder met twee afzonderlijke codesecties die dezelfde resultaten opleveren als de vorige voorbeelden.

Gegevens presenteren aan ChatGPT

Hoe ChatGPT te gebruiken om SQL-query's te schrijven

Als u uw vragen wilt oplossen, kunt u voorbeeldgegevens aan ChatGPT verstrekken en deze vragen de SQL uit te voeren.

In een eerdere sectie is uitgelegd hoe u tabellen en relaties kunt beschrijven. U kunt ook de CREATE TABLE-instructies aan ChatGPT verstrekken.

De volgende stap is het verstrekken van de gegevens in een samengevatte of tabelindeling om ChatGPT te helpen uw database te begrijpen en de resultaten te interpreteren.

U kunt de gegevens bijvoorbeeld als volgt aanleveren:

Dit zijn de gegevens in deze tabellen.

Klanten

1, "John Smith", " [email protected] "

2, "Mary Doe", " [email protected] "

Bestellingen

1, 1, "Hoodie", 14,99

2, 1, "T-shirt", 5,99

3, 2, "Jeans", 24,99

Klant adres

1, 1, "Hope Street", "Chicago", "Illinois"

2, 2, "Cherry Lane", "Philadelphia", "Pennsylvania"

Merk op dat alleen John Smith in Chicago woont. Nadat u de gegevens heeft verstrekt, kunt u ChatGPT vragen om het resultaat van de specifieke zoekopdracht te verstrekken.

Als je de tool hebt gevraagd om verschillende variaties in de sessie te proberen, raad ik je aan om de exacte query die je wilt laten "uitvoeren" te kopiëren en te plakken, zodat er geen dubbelzinnigheid is.

Voer dit in als de prompt: " Geef het resultaat van deze zoekopdracht op: "

ChatGPT gebruikt de query om de totale opbrengst van de bestellingen van John Smith te berekenen. Hier is een voorbeeld, en het is het juiste antwoord!

Hoe ChatGPT te gebruiken om SQL-query's te schrijven

2 nadelen van het gebruik van ChatGPT

De twee belangrijkste nadelen om op te letten zijn:

  • onjuiste syntaxis

  • inefficiënte vragen

Onjuiste syntaxis

Soms genereert ChatGPT SQL die niet compileert of de verkeerde resultaten oplevert. Dit is waarschijnlijker wanneer u het hebt gevraagd om te werken met propriëtaire extensies voor standaard SQL .

Als u de gegenereerde query's verpakt in opgeslagen procedures, zorg er dan voor dat u ze test voordat u de resultaten aan een data-analist of zakelijke gebruikers levert .

Als u geïnteresseerd bent in een meer gecureerde manier om query's in natuurlijke taal voor uw gegevens te gebruiken, bekijk dan de implementatie van Microsoft in Power BI:

Inefficiënte vragen

Als u ervoor wilt zorgen dat uw SQL-query's efficiënt zijn, onderzoekt u het query-uitvoeringsplan.

Dit is de volgorde van bewerkingen die worden uitgevoerd door het databasebeheersysteem. Het is een beetje zoals het openen van de machine en kijken naar wat er draait.

Het probleem met ChatGPT is dat het niet kan zien hoe uw databasebeheersysteem uw SQL-query verwerkt.

Filtert het bijvoorbeeld de klanten eerst op staat of voert het dat deel als laatste uit? Die beslissing kan een groot verschil maken voor de prestaties.

Als u merkt dat uw vraag traag naar productuitvoer gaat, moet u uw handen uit de mouwen steken en het uitvoeringsplan zelf bekijken.

Laatste gedachten

U hebt praktijkvoorbeelden gezien van het gebruik van ChatGPT voor het schrijven en wijzigen van typische SQL- query's die in het bedrijfsleven worden gebruikt.

Het is belangrijk op te merken dat hoewel de AI-tool een sterke basis kan bieden en kan helpen bij het genereren van SQL-query's, het de behoefte aan een goed begrip van SQL niet vervangt.

Bij correct gebruik kan ChatGPT echter een onschatbare assistent zijn voor SQL-ontwikkelaars.