SQL Sorguları Yazmak İçin ChatGPT Nasıl Kullanılır

SQL sorguları yazmak zaman alıcı ve zorlayıcı olabilir. Belirli iş senaryoları için çözümler oluşturma göreviniz varsa, sorgularınızın hem verimli hem de doğru olduğundan emin olmanız gerekir.

ChatGPT, SQL de dahil olmak üzere çok sayıda teknik metin üzerinde eğitilmiş bir yapay zeka aracıdır. SQL sözdizimi hakkındaki soruları yanıtlayabilir, SQL sorguları oluşturabilir veya belirli bir SQL sorgusunun çıktısını açıklayabilir.

SQL sorgusu oluşturma için ChatGPT'yi kullanarak, raporların ve veri akışlarının tasarlanması gibi daha üst düzey görevlere odaklanabilirsiniz. Bu size yalnızca zaman kazandırmakla kalmaz, aynı zamanda veri analizinizin kalitesini ve etkinliğini de sağlar.

Bu makalenin sonunda, SQL sorguları yazarken size yardımcı olması için ChatGPT'yi nasıl kullanacağınız konusunda sağlam bir anlayışa sahip olacaksınız.

İçindekiler

SQL Sorguları İçin ChatGPT Kullanmanın Avantajları

SQL Sorguları Yazmak İçin ChatGPT Nasıl Kullanılır

ChatGPT, doğal dili anlayan güçlü bir yapay zeka aracıdır. Hem yeni başlayanlar hem de tecrübeli geliştiriciler için değerli bir araç olarak hizmet edebilir.

Yeni başlayanlar, SQL'in sözdizimini karmaşık ve hatırlaması zor bulabilir. ChatGPT, doğal dil isteklerini SQL sorgularına çevirerek yardımcı olabilir. Sade İngilizcenin SQL'e çevirisini gerçek zamanlı olarak görebildiğiniz için bu, SQL öğrenmeyi daha etkileşimli ve daha az göz korkutucu hale getirir.

Deneyimli geliştiriciler, birden çok tablo ve koşul içeren karmaşık SQL sorguları formüle etmenin zaman alıcı olabileceğini görebilir. ChatGPT, sorgu iskeletleri oluşturarak veya hatta doğal dilde açıklanan göreve dayalı sorguları tamamlayarak süreci hızlandırabilir.

Bu aynı zamanda sözdizimi hatası olasılığını da azaltır. Hatalardan bahsetmişken ChatGPT, olası çözümler veya açıklamalar sağlayarak SQL sorgularında hata ayıklamaya da yardımcı olabilir. Daha iyi performans için bir sorguyu optimize etmenin farklı yollarını da önerebilir.

Araca daha genel bir giriş yapmak istiyorsanız şu makalelere göz atın:

SQL sorguları için kullanmaya başlamak istiyorsanız okumaya devam edin.

SQL Sorguları İçin ChatGPT'ye Nasıl Başlanır?

Halihazırda bir Open AI hesabınız yoksa (ücretsizdir!), şu adımları izleyin.

  1. Bir tarayıcı başlatın ve https://chat.openai.com/ adresine gidin .

  2. kayıt düğmesine tıklayın.

  3. Bir e-posta adresi, bir Microsoft hesabı veya bir Google hesabı ile kaydolun.

  4. Doğrulama için bir telefon numarası sağlayın.

Giriş yaptığınızda, cevaplanmak üzere mesaj göndermeye hemen başlayabilirsiniz. Mesajınız ChatGPT istemi olarak bilinir .

Bu makale, SQL ile çalışırken aracı kullanmaya alışmanız için birçok örnek gösterir.

SQL Sorguları İçin ChatGPT Oturumlarınızı Nasıl Başlatırsınız?

Farklı veritabanı satıcıları, standart SQL kodunu tescilli sözdizimi ile genişletmiştir.

Örneğin, Microsoft , bir Microsoft SQL Server örneğiyle etkileşim için Transact-SQL'e (T-SQL olarak kısaltılır) sahiptir. T-SQL, MySQL veya PostgreSQL gibi başka bir SQL veritabanı türünde çalışmayacak sözdizimine sahiptir.

PostgreSQL, SQL Server veya Oracle'da çalışmayan ekstra komutlara ve sözdizimine sahip açık kaynaklı bir uzantıdır.

Bu, ChatGTP'den veritabanı sisteminin genişletilmiş özelliklerini kullanarak bir SQL sorgusu sağlamasını istediğinizde, hangi SQL uygulamasını kullandığınızı açıkça belirterek Sohbet oturumunuzu başlatmanız gerektiği anlamına gelir.

Oturumunuzu “ Microsoft SQL Server ile çalışıyorum” gibi bir ifade ile başlatabilirsiniz . ve sorunuzu bir sonraki cümlede sorun.

Daha basit hale getirmek için, " SQL Server ile nasıl yaparım ...?" kullanabilirsiniz. Bir kavram veya terim hakkında soru sorarken.

Bu makalenin geri kalanında, tüm büyük veritabanı yönetim sistemlerinde çalışan standart SQL sorgularına odaklanacağım.

Niyetlerinizi ChatGPT'ye Nasıl İfade Edebilirsiniz?

Niyetinizi ChatGPT'ye açıkça ifade etmeniz önemlidir.

ChatGPT'nin üzerinde çalıştığınız veri modelini anlaması için tablolarınızın yapısını tanımlayarak başlayın. Tabloların adlarını ve ilişkilerini, ayrıca sütunları ve veri türlerini belirtin. Örneğin:

İki tablom var: siparişler ve müşteriler. Sipariş tablosunda id, customer_id, product ve price sütunları bulunur. Müşteriler tablosunda id, name ve email sütunları bulunur. Siparişler tablosundaki customer_id, müşteriler tablosundaki id sütununa başvuran bir yabancı anahtardır.

Ardından, doğal dil ( kod yerine insan benzeri metin ) kullanarak oluşturmak istediğiniz belirli sorguyu açıklamanız yeterlidir .

ChatGPT'nin ne aradığınızı anlamasına yardımcı olmak için olabildiğince kesin olun. Örneğin:

Sipariş fiyatlarının toplamını hesaplayarak her müşterinin toplam gelirini bulan bir SQL sorgusu yazın.

ChatGPT, farklı bölümlerin dökümünü içeren bir SQL sorgusu döndürür. Aşağıdaki bir seçim ifadesi örneğine bir göz atın:

SQL Sorguları Yazmak İçin ChatGPT Nasıl Kullanılır

AI teknolojisi, sağladığınız tablo adlarına ve isteğe dayalı olarak bir SQL sorgusu oluşturdu.

Ancak araç sadece burada bitmiyor. Birkaç ekstra şeye işaret ediyor:

  • Bunun yerine LEFT JOIN kullanmak istediğinizde.

  • Müşteri adları benzersiz değilse, NAME yerine kimliği kullanmak isteyebilirsiniz.

Sorgu Sonuçlarına Göre İstekleri Formüle Etme

ChatGPT ile daha iyi sorgu sonuçları elde etmek için, karmaşık istekleri daha küçük parçalara bölerek konuşma akışını sürdürebilirsiniz.

Örneğin, müşterileri şehirlerine göre filtreleyen daha karmaşık bir sorgu istediğinizi varsayalım.

Bu yeni bilgileri sağlayarak sohbet oturumuna devam edebilirsiniz.

id, customer_id, cadde, şehir, eyalet sütunlarına sahip müşteri_adresi adında başka bir tablom var. customer_id, müşteri tablosu için bir yabancı anahtardır.

Chicago'daki müşterileri filtrelemek için önceki SQL sorgusunu değiştirin.

ChatGPT, değiştirilen sorguyu yeni bir WHERE yan tümcesiyle döndürür.

SQL konusunda deneyimsizseniz, bu, bilginizi artırmanın harika bir yoludur.

ChatGPT ile sorunsuz bir çalışma deneyimi sağlamak için isteklerinizi kısa ve ilgili bağlam içinde tutmayı unutmayın.

Sorgu Oluşturma İçin En İyi 4 Uygulama

ChatGPT'nin ürettiği SQL Kodunun doğru çözüm olduğundan emin olmak için bazı ipuçları:

  • Belirsizliği önlemek için tablo ve sütun adlarında net olun.

  • Koşulları, filtreleri veya sıralama gereksinimlerini açıkça belirtin.

  • Sütunlar veya toplamalar gibi istenen çıktı biçimini belirtin.

  • Gerekirse, benzer karmaşık sorgulara örnekler verin.

Açıklamanızda ne kadar kesin olursanız, oluşturulan sorgu o kadar iyi olur.

Performans İçin Optimize Etmenin 2 Yolu

SQL sorguları oluşturmak için ChatGPT kullanırken, sorguların performans yönünü dikkate almak çok önemlidir. Performans için SQL sorgularını optimize etmenin iki yolu:

  • uygun indeksleri kullan

  • aşırı karmaşık SQL sorgularından kaçınmak

Uygun İndeksleri Kullanın

Bazı SQL uzantılarında, sorgunun belirli bir dizin kullanması gerektiğini belirtmek mümkündür, ancak bu iyi bir uygulama olarak kabul edilmez. Veritabanı şeması veya veri profili zamanla değişirse, verimsiz bir dizin kullanmaya zorlanan bir sorguyla karşılaşabilirsiniz.

Ancak, sorgunuz için optimum dizinler konusunda ChatGPT'den tavsiye isteyebilirsiniz. İşte bir örnek.

Bu sorguyu en verimli hale getiren bir veya daha fazla dizin oluşturmak istiyorum. Yardım lütfen.

ChatGPT, indeksler önerecek ve seçimlerin arkasındaki nedenleri verecektir.

SQL geliştiricilerinin önerilen tüm dizinleri körü körüne oluşturmaması önemlidir. Gerçek veriler için uygun olmayabilirler. Her birini denemenizi ve test etmenizi tavsiye ederim.

Aşırı Karmaşık Sorgulardan Kaçının

Önceki bölümde önerdiğimiz gibi sorgularınızı oluşturmanın avantajlarından biri, okunması ve bakımı zor olan uzun ve karmaşık bir sorgu alma olasılığınızın düşük olmasıdır.

ChatGPT size takip edilmesi zor birden çok alt sorgu içeren bir sorgu verirse, ona birden çok sorgu ve bir veya daha fazla geçici tablo kullanan alternatif bir komut dosyası sağlamasını söyleyebilirsiniz.

Diyelim ki "Chicago"da sorgu filtrelemenin çok karmaşık olduğuna karar verdim (değil!). ChatGPT'ye şu şekilde talimat verirdim:

Önceki sorguyu geçici bir tablo kullanan iki ayrı sorguya bölmek istiyorum. Komut dosyası aynı sonuçları elde etmelidir.

Her zaman yardımcı olan ChatGPT, emirlerinizi yerine getirmek için neredeyse kendi kendine düşüyor. Diyor ki:

Elbette, önce her müşteri için toplam geliri depolamak üzere geçici bir tablo oluşturarak ve ardından Chicago'daki müşterileri filtrelemek için bu geçici tabloyu sorgulayarak aynı sonuçları elde edebiliriz.

Araç, önceki örneklerle aynı sonuçları üreten iki ayrı kod bölümü sağlayarak devam eder.

Veriler ChatGPT'ye Nasıl Sunulur?

SQL Sorguları Yazmak İçin ChatGPT Nasıl Kullanılır

Sorgularınızla ilgili sorunları gidermek istediğinizde, ChatGPT'ye örnek veriler sağlayabilir ve SQL'i çalıştırmasını isteyebilirsiniz.

Daha önceki bir bölüm size tabloları ve ilişkileri nasıl tanımlayacağınızı gösteriyordu. CREATE TABLE deyimlerini ChatGPT'ye de sağlayabilirsiniz.

Bir sonraki adım , ChatGPT'nin veritabanınızı anlamasına ve sonuçları yorumlamasına yardımcı olmak için verileri özetlenmiş veya tablo biçiminde sağlamaktır .

Örneğin, verileri şu şekilde sağlayabilirsiniz:

İşte bu tablolardaki veriler.

Müşteriler

1, “John Smith”, “ [e-posta korumalı]

2, “Mary Doe”, “ [email korumalı]

Emirler

1, 1, "Kapşonlu", 14,99

2, 1, “Tişört”, 5,99

3, 2, "Kot", 24,99

Müşteri adresi

1, 1, “Umut Sokağı”, “Chicago”, “Illinois”

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

Chicago'da yalnızca John Smith'in yaşadığını unutmayın. Verileri sağladıktan sonra, ChatGPT'den belirli sorgunun sonucunu vermesini isteyebilirsiniz.

Araçtan oturumda çeşitli varyasyonları denemesini istediyseniz, herhangi bir belirsizlik olmaması için tam olarak "çalışmasını" istediğiniz sorguyu kopyalayıp yapıştırmanızı tavsiye ederim.

Bunu komut istemi olarak girin: " Bu sorgunun sonucunu sağlayın: "

ChatGPT, John Smith'in siparişlerinin toplam gelirini hesaplamak için sorguyu kullanacak. İşte bir örnek ve doğru cevap!

SQL Sorguları Yazmak İçin ChatGPT Nasıl Kullanılır

ChatGPT Kullanmanın 2 Dezavantajı

Dikkat edilmesi gereken iki ana dezavantaj şunlardır:

  • yanlış sözdizimi

  • verimsiz sorgular

Yanlış Sözdizimi

Bazen ChatGPT, derlemeyen veya yanlış sonuçlar üreten SQL oluşturur. Standart SQL'e özel uzantılarla çalışmasını istediğinizde bu daha olasıdır .

Oluşturulan sorguları saklı yordamlar içinde paketliyorsanız, sonuçları bir veri analistine veya iş kullanıcılarına teslim etmeden önce bunları test ettiğinizden emin olun.

Verileriniz için doğal dil sorgularını kullanmanın daha derli toplu bir yöntemiyle ilgileniyorsanız, Microsoft'un Power BI'daki uygulamasına göz atın:

Verimsiz Sorgular

SQL sorgularınızın verimli olduğundan emin olmak istediğinizde, sorgu yürütme planını incelersiniz.

Bu, veritabanı yönetim sistemi tarafından gerçekleştirilen işlemlerin sırasıdır. Bu biraz makineyi açıp neyin çalıştığına bakmak gibi bir şey.

ChatGPT ile ilgili sorun, veritabanı yönetim sisteminizin SQL sorgunuzu nasıl işlediğini görememesidir.

Örneğin, müşterileri önce duruma göre mi filtreliyor yoksa o kısmı en son mu gerçekleştiriyor? Bu karar performansta büyük bir fark yaratabilir.

Sorgunuzun ürün çıktısında yavaş olduğunu gözlemlerseniz, kolları sıvamanız ve yürütme planını kendiniz incelemeniz gerekecektir.

Son düşünceler

İş dünyasında kullanılan tipik SQL sorgularını yazmak ve değiştirmek için ChatGPT kullanımının gerçek hayattan örneklerini gördünüz .

AI aracının güçlü bir temel sağlayıp SQL sorguları oluşturmaya yardımcı olabilmesine rağmen, sağlam bir SQL anlayışına duyulan ihtiyacın yerini almadığına dikkat etmek önemlidir.

Ancak doğru kullanıldığında ChatGPT, SQL geliştiricileri için paha biçilmez bir yardımcı olabilir.