# Python MSSQL Veritabanı
Python MSSQL veritabanı işlemlerini öğreniyoruz.
Last updated
Python MSSQL veritabanı işlemlerini öğreniyoruz.
Last updated
Python ile veritabanı işlemleri programlamada önemli bir konuma sahiptir. Bu dersimizde verileri veritabanında saklamak ve yeri geldiğinde kullanmak için Python MSSQL bağlantısını ve SELECT, INSERT, UPDATE, DELETE işlemlerini nasıl yapacağız öğreneceğiz.
Daha önceki dersimizde Python Mysql Veritabanı bağlantısını görmüştük, bu dersimizde de Python MSSQL veritabanı bağlantısı dersi ile Python programlama konusunda önemli bir konuyu daha işlemiş bulunacağız.
pypyodbc
Kütüphanesinin Kurulması ve Projeye Dahil EtmeMSSQL ile veritabanı işlemlerimizi rahatça yapabilmemiz için pypyodbc
kütüphanemizi kurmamız gerekiyor. Bunun için aşağıdaki komutu kullanarak pip ile kütüphanemizi indirelim:
Artık kütüphanemizi kurduğumuza göre projemize kütüphaneyi dahil edebiliriz. Bunu yapabilmek için sayfamızın en üstüne aşağıdaki kodu ekleyelim:
Kütüphaneyi indirip projemize dahil ettikten sonra artık örneklerimize başlayabiliriz.
Artık veritabanımıza bağlantımızı yapacak bilgileri oluşturmanın zamanı geldi. Bunun için öncelikle hangi yöntemle veritabanına bağlanacağımızı seçmeliyiz. Nu iki yöntemi de sırasıyla görelim:
Server bağlantısını Windows yetkilendirmesiyle kullanıyorsanız aşağıdaki kodu kullanmalısınız.
Server bağlantısını kullanıcı adı ve şifre ile kullanıyorsanız aşağıdaki kodu kullanmalısınız.
Veritabanı bağlantısı ile komutlarımızı gönderebilmek için aracı bir imleç oluşturmamız gerekiyor. İmleç oluşturmak için aşağıdaki kodları kullanabilirsiniz.
Bağlantımızı ve imlecimizi oluşturduktan sonra temel işlemlerimizi yapmaya başlayabiliriz.
En çok kullanılan komut olan SELECT ile başlayalım. Bunun için ilk önce veritabanımızda örnek bir tablo oluşturalım. Ben kullanicilar isimli tabloyu oluşturmak ve basit olması için sadece id, ad, soyad, yas sütunlarını kullanmak istiyorum. İlk başta örnek olarak 2-3 tane veride ekleyebilirsiniz:
Tablomuz ve örnek verilerimiz hazırsa sorgu kodumuzu hemen gönderelim:
Bu isteğin ardından dönen sonuçları (dizi olarak döner) bir değişkene aktarmamız gerekiyor. Bunun içinde aşağıdaki gibi bir eşitleme yapıyoruz:
Artık tablomuzdaki kullanıcılarımızı bir değişkene atadık ve sıra ekrana yazdırmaya geldi. Bunun için foreach döngümüzü kullanarak dönen diziyi ekrana yazdırıyoruz:
Ekran çıktımız şu şekilde olacaktır:
Eğer dönen sonuçları daha detaylı kullanmak istiyorsanız sütun isimlerini kullanarak ekrana yazdırabilirsiniz. Bunun için:
Ekran çıktımız şu şekilde olacaktır:
!! Tek bir satır çekmek için fetchall()
yerine fetchone()
fonksiyonunu kullanabilirsiniz.
Özet olarak execute fonksiyonu ile hangi komutu gönderirseniz dönen sonuçlar komutun çıktısı olacaktır. Sizlerde istediğiniz komutları yukarıdaki örnekteki gibi gönderebilirsiniz.
Tablomuza yeni bir kullanıcı eklemek istediğimizde kullanmamız gereken kod yapısı aşağıdaki gibidir:
Tablonuza baktığınızda kullanıcınızı eklenmiş göreceksiniz.
Yukarıdaki kodda ? ile göndereceğimiz değerleri belli ediyoruz. Tablomuzda ad,soyad ve yas sütunları olduğu için ? ile belirlediğimiz değişkenleri bir sonraki parametrede yazarak gönderiyoruz (id sütununu identity ve auto increment bir değer ayarladığım için kendi komutumda id değeri göndermeye gerek yok)
. Yani insert işleminin kabaca syntax yapısı şu şekildedir:
imlec.execute = (SQL Komutu,Değişkenler)
En önemli kısmına gelirsek te db.commit() ile yaptığımız değişiklikleri veritabanına ileterek insert işlemini gerçekleştiriyoruz. Eğer commit()
işlemini yapmazsanız insert işlemleriniz gerçekleşmez!
Şimdi geldik tablomuzdaki mevcut bir değeri güncellemeye. Bu işlem için UPDATE
komutunu kullanacağız. Aşağıdaki örneği hemen incelemeye başlayabilirsiniz:
Bu işlemin sonucunda ekran çıktılarımız şu şekilde olacaktır:
Gördüğünüz gibi klasik Update
komutumuzu gönderdik ve işin kritik noktası olan commit() ile işlemlerimizi başarıyla tamamladık. Artık sıradaki işlemimize geçebiliriz.
Tablomuzdan bir değer silmek istersek DELETE
komutunu kullanabiliriz. Hemen örneğimizi görelim.
Tablomuza baktığımızda kullanıcının silinmiş olduğunu göreceksiniz
Bu yazımızda Python ile MSSQL veritabanı bağlantısını ve temel işlemleri nasıl yapabileceğimizi öğrendik. Bunu yaparken de işin temelinin SQL komutlarımızı sorunsuz bir şekilde hazırlayıp execute() fonksiyonuyla bağlantısını tamamladığımız veritabanımıza göndermek olduğunu gördünüz. Sizde daha gelişmiş işlerinizde yukarıdaki örnekleri baz alabilir, takıldığınız yerleri aşağıya yorum bırakarak sorabilirsiniz.