Cum să utilizați ChatGPT pentru a scrie interogări SQL

Scrierea interogărilor SQL poate fi consumatoare de timp și provocatoare. Dacă aveți sarcina de a crea soluții pentru scenarii de afaceri specifice, trebuie să vă asigurați că interogările dvs. sunt atât eficiente, cât și exacte.

ChatGPT este un instrument AI care a fost instruit pe un set imens de texte tehnice, inclusiv SQL. Poate răspunde la întrebări despre sintaxa SQL, poate genera interogări SQL sau poate explica rezultatul unei anumite interogări SQL.

Folosind ChatGPT pentru generarea de interogări SQL, vă puteți concentra pe sarcini de nivel superior, cum ar fi proiectarea de rapoarte și fluxuri de date. Acest lucru nu numai că vă economisește timp, dar vă asigură și calitatea și eficacitatea analizei datelor dvs.

Până la sfârșitul acestui articol, veți avea o înțelegere fermă despre cum să utilizați ChatGPT pentru a vă ajuta să scrieți interogări SQL.

Cuprins

Avantajele utilizării ChatGPT pentru interogări SQL

Cum să utilizați ChatGPT pentru a scrie interogări SQL

ChatGPT este un instrument AI puternic care înțelege limbajul natural. Poate servi ca un instrument valoros atât pentru începători, cât și pentru dezvoltatorii experimentați.

Începătorii pot considera că sintaxa SQL este complexă și dificil de reținut. ChatGPT poate ajuta transformând cererile în limbaj natural în interogări SQL. Acest lucru face ca învățarea SQL să fie mai interactivă și mai puțin descurajantă, deoarece puteți vedea traducerea în limba engleză simplă în SQL în timp real.

Dezvoltatorii cu experiență pot descoperi că formularea de interogări SQL complexe care implică mai multe tabele și condiții poate fi consumatoare de timp. ChatGPT poate accelera procesul prin generarea de schelete de interogări sau chiar interogări complete pe baza sarcinii descrise în limbaj natural.

Acest lucru reduce, de asemenea, șansele de erori de sintaxă. Vorbind despre erori, ChatGPT poate ajuta și la depanarea interogărilor SQL, oferind posibile soluții sau explicații. De asemenea, poate sugera diferite moduri de a optimiza o interogare pentru o performanță mai bună.

Dacă doriți o introducere mai generală a instrumentului, consultați aceste articole:

Dacă doriți să începeți să îl utilizați pentru interogări SQL, citiți mai departe.

Cum să începeți cu ChatGPT pentru interogări SQL

Dacă nu aveți deja un cont Open AI (este gratuit!), urmați acești pași.

  1. Lansați un browser și accesați https://chat.openai.com/ .

  2. Faceți clic pe butonul de înregistrare.

  3. Înregistrați-vă cu o adresă de e-mail, un cont Microsoft sau un cont Google.

  4. Furnizați un număr de telefon pentru verificare.

Când vă conectați, puteți începe imediat să trimiteți mesaje pentru a primi răspuns. Mesajul dvs. este cunoscut sub numele de prompt ChatGPT .

Acest articol vă arată o mulțime de exemple pentru a vă familiariza cu utilizarea instrumentului în timp ce lucrați cu SQL.

Cum să începeți sesiunile ChatGPT pentru interogări SQL

Diferiți furnizori de baze de date au extins codul SQL standard cu sintaxă proprie.

De exemplu, Microsoft are Transact-SQL (abreviat ca T-SQL) pentru a interacționa cu o instanță Microsoft SQL Server. T-SQL are sintaxă care nu va rula pe alt tip de bază de date SQL, cum ar fi MySQL sau PostgreSQL.

PostgreSQL este o extensie open-source care are comenzi și sintaxă suplimentare care nu vor rula pe SQL Server sau Oracle.

Aceasta înseamnă că atunci când solicitați ChatGTP să furnizeze o interogare SQL utilizând caracteristicile extinse ale sistemului de baze de date, ar trebui să începeți sesiunea de chat clarificând ce implementare a SQL utilizați.

Puteți începe sesiunea cu o declarație de genul „ Lucrez cu Microsoft SQL Server”. și pune întrebarea ta în următoarea propoziție.

Pentru a simplifica, puteți folosi „ Cu SQL Server , cum fac …?” când întrebați despre un concept sau termen.

Pentru restul acestui articol, mă voi concentra pe interogările SQL standard care funcționează pe toate sistemele majore de gestionare a bazelor de date.

Cum să-ți exprimi intențiile la ChatGPT

Este important să-ți exprimi clar intențiile la ChatGPT.

Începeți prin a descrie structura tabelelor dvs., astfel încât ChatGPT să înțeleagă modelul de date cu care lucrați. Menționați numele și relațiile tabelelor, precum și coloanele și tipurile de date ale acestora. De exemplu:

Am două tabele: comenzi și clienți. Tabelul de comenzi are coloanele id, customer_id, product și preț. Tabelul clienți are coloanele ID, nume și e-mail. Custom_id din tabelul de comenzi este o cheie externă care face referire la coloana id din tabelul de clienți.

Apoi, explicați pur și simplu interogarea specifică pe care doriți să o generați folosind limbajul natural ( text asemănător omului în loc de cod ).

Fii cât mai precis posibil pentru a ajuta ChatGPT să înțeleagă ceea ce cauți. De exemplu:

Scrieți o interogare SQL care găsește venitul total al fiecărui client prin calcularea sumei prețurilor comenzilor sale.

ChatGPT returnează o interogare SQL cu o defalcare a diferitelor părți. Aruncă o privire la următorul exemplu de declarație select:

Cum să utilizați ChatGPT pentru a scrie interogări SQL

Tehnologia AI a generat o interogare SQL bazată pe numele tabelelor și pe solicitarea pe care le-ați furnizat.

Dar instrumentul nu se oprește doar aici. Subliniază câteva lucruri suplimentare:

  • Când doriți să utilizați în schimb un LEFT JOIN.

  • Poate doriți să utilizați ID-ul în loc de NAME dacă numele clienților nu sunt unice.

Formularea cererilor pe baza rezultatelor interogării

Pentru a obține rezultate mai bune la interogări cu ChatGPT, puteți împărți cererile complexe în bucăți mai mici pentru a menține un flux conversațional.

De exemplu, să presupunem că doriți o interogare mai complexă care filtrează clienții în funcție de orașul lor.

Puteți continua sesiunea de chat furnizând aceste noi informații.

Am un alt tabel numit customer_address cu coloanele id, customer_id, street, city, state. customer_id este o cheie străină pentru tabelul client.

Modificați interogarea SQL anterioară pentru a filtra clienții din Chicago.

ChatGPT returnează interogarea modificată cu o nouă clauză WHERE.

Dacă nu aveți experiență cu SQL, aceasta este o modalitate excelentă de a vă dezvolta cunoștințele.

Nu uitați să vă păstrați cererile concise și în contextul relevant pentru a asigura o experiență fără probleme de lucru cu ChatGPT.

4 Cele mai bune practici pentru generarea de interogări

Iată câteva sfaturi pentru a vă asigura că codul SQL produs de ChatGPT este soluția corectă:

  • Fiți specific cu numele tabelelor și coloanelor pentru a evita ambiguitatea.

  • Indicați clar orice condiții, filtre sau cerințe de sortare.

  • Specificați formatul de ieșire dorit, cum ar fi coloane sau agregari.

  • Dacă este necesar, furnizați exemple de interogări complexe similare.

Cu cât sunteți mai precis în descrierea dvs., cu atât interogarea generată va fi mai bună.

2 moduri de a optimiza pentru performanță

Când utilizați ChatGPT pentru a genera interogări SQL, este esențial să luați în considerare aspectul de performanță al interogărilor. Iată două moduri de a optimiza interogările SQL pentru performanță:

  • utilizați indici corespunzători

  • evitând interogările SQL prea complexe

Utilizați indecși adecvați

Este posibil în unele extensii ale SQL să se specifice că interogarea ar trebui să utilizeze un index specific, totuși acest lucru nu este considerat o practică bună. Dacă schema bazei de date sau profilul de date se modifică în timp, puteți ajunge la o interogare care este forțată să folosească un index ineficient.

Cu toate acestea, puteți cere sfaturi ChatGPT cu privire la indecșii optimi pentru interogarea dvs. Iată un exemplu.

Vreau să creez unul sau mai mulți indecși care să facă această interogare cea mai eficientă. Te rog asista.

ChatGPT va recomanda indecși și va oferi motivele din spatele alegerilor.

Este important ca dezvoltatorii SQL să nu creeze orbește toți indecșii sugerați. Este posibil să nu fie adecvate pentru datele reale. Vă sfătuiesc să încercați și să testați fiecare.

Evitați interogările prea complexe

Unul dintre avantajele creării interogărilor dvs., așa cum am sugerat în secțiunea anterioară, este că este mai puțin probabil să obțineți o interogare lungă și complexă, care este dificil de citit și de întreținut.

Dacă ChatGPT vă oferă o interogare cu mai multe subinterogări care sunt dificil de urmărit, îi puteți spune să furnizeze un script alternativ care utilizează mai multe interogări și unul sau mai multe tabele temporare.

Să presupunem că am decis că filtrarea interogărilor pe „Chicago” a fost prea complexă (nu este!). Aș instrui ChatGPT astfel:

Vreau să împart interogarea anterioară în două interogări separate care folosesc un tabel temporar. Scenariul trebuie să obțină aceleași rezultate.

ChatGPT, mereu util, aproape că cade de la sine pentru a-ți face licitația. Se spune:

Sigur, putem obține aceleași rezultate creând mai întâi un tabel temporar pentru a stoca venitul total pentru fiecare client și apoi interogând acest tabel temporar pentru a filtra clienții din Chicago.

Instrumentul continuă prin furnizarea a două secțiuni separate de cod care produc aceleași rezultate ca exemplele anterioare.

Cum să prezentați date la ChatGPT

Cum să utilizați ChatGPT pentru a scrie interogări SQL

Când doriți să vă depanați interogările, puteți furniza date eșantion la ChatGPT și îi puteți cere să ruleze SQL.

O secțiune anterioară v-a arătat cum să descrieți tabele și relațiile. De asemenea, puteți furniza instrucțiunile CREATE TABLE către ChatGPT.

Următorul pas este să furnizați datele într-un format rezumat sau tabelar pentru a ajuta ChatGPT să vă înțeleagă baza de date și să interpreteze rezultatele.

De exemplu, puteți furniza datele astfel:

Iată datele din aceste tabele.

Clienți

1, „John Smith”, „ [e-mail protejat]

2, „Mary Doe”, „ [email protected]

Comenzi

1, 1, „Haoracă”, 14,99

2, 1, „T-shirt”, 5,99

3, 2, „Blagi”, 24,99

Adresa_clientului

1, 1, „Hope Street”, „Chicago”, „Illinois”

2, 2, „Cherry Lane”, „Philadelphia”, „Pennsylvania”

Rețineți că doar John Smith locuiește în Chicago. După ce ați furnizat datele, puteți cere ChatGPT să furnizeze rezultatul interogării specifice.

Dacă ați cerut instrumentului să încerce mai multe variante în sesiune, vă sfătuiesc să copiați și să lipiți interogarea exactă pe care doriți să o „ruleze”, astfel încât să nu existe ambiguitate.

Introduceți acest lucru ca prompt: „ Furnizați rezultatul acestei interogări:

ChatGPT va folosi interogarea pentru a calcula venitul total din comenzile lui John Smith. Iată un exemplu și este răspunsul corect!

Cum să utilizați ChatGPT pentru a scrie interogări SQL

2 dezavantaje ale folosirii ChatGPT

Cele două dezavantaje principale la care trebuie să fiți atenți sunt:

  • sintaxă incorectă

  • interogări ineficiente

Sintaxă incorectă

Uneori, ChatGPT va genera SQL care nu compila sau produce rezultate greșite. Acest lucru este mai probabil atunci când i-ați cerut să lucreze cu extensii proprietare la SQL standard .

Dacă includeți interogările generate în proceduri stocate, asigurați-vă că le testați înainte de a livra rezultatele unui analist de date sau utilizatorilor de afaceri.

Dacă sunteți interesat de un mod mai curat de a utiliza interogări în limbaj natural pentru datele dvs., consultați implementarea Microsoft în Power BI:

Interogări ineficiente

Când doriți să vă asigurați că interogările dvs. SQL sunt eficiente, examinați planul de execuție a interogărilor.

Aceasta este secvența operațiunilor efectuate de sistemul de management al bazei de date. Este un pic ca și cum ai deschide mașina și te uiți la ce merge.

Problema cu ChatGPT este că nu poate vedea modul în care sistemul dvs. de gestionare a bazei de date procesează interogarea dvs. SQL.

De exemplu, filtrează clienții după stat mai întâi sau efectuează acea parte ultima? Această decizie ar putea face o mare diferență în performanță.

Dacă observați că interogarea dvs. este lentă la ieșirea produsului, va trebui să vă suflecați mânecile și să examinați singur planul de execuție.

Gânduri finale

Ați văzut exemple din viața reală de utilizare a ChatGPT pentru a scrie și a modifica interogări SQL tipice utilizate în afaceri.

Este important de reținut că, deși instrumentul AI poate oferi o bază solidă și poate ajuta la generarea de interogări SQL, nu înlocuiește nevoia unei înțelegeri solide a SQL.

Cu toate acestea, atunci când este utilizat corect, ChatGPT poate fi un asistent de neprețuit pentru dezvoltatorii SQL.