Python SQL Server Bağlantısı

Hepimizin bildiği gibi en yaygın kullanılan veri tabanlarından birisi de Microsoft SQL Server’dır. Bu yazımızda veri bilimlerinde en yaygın olarak kullanılan dillerden birisi olan Python ile MSSQL Server veri tabanına bağlanarak basit bir SELECT sorgusunu çalıştıracağız. Bu yazıyı hazırlarken kullandığım yazılım ve versiyonları şu şekildedir.

OS: Windows 10

SQL Server: SQL Server 2012

Python: Python 3.4

SQL Server’a bağlanabilmemiz için öncelikle pypyodbc paketini pip ile yüklememiz gerekir. Komut satırını çalıştırarak pip install pypyodbc komutunu yazıp çalıştırıyoruz. Komut paketi yükleyecektir.


Bu paketi yükledikten sonra Python geliştirme ortamımızı (IDE) açıp (ben PyCharm kullanıyorum) .py uzantılı bir dosya oluşturuyoruz. Oluşturduğumuz dosyaya aşağıdaki kodları yazıyoruz.

import pypyodbc
connection = pypyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=AdventureWorks2012;UID=sa;PWD=Şifre')

cursor = connection.cursor()
cursor.execute("SELECT * FROM HumanResources.Department")
sonuc = cursor.fetchall()
for i in sonuc:
    print(i)

Beklenen çıktı:

(1, 'Engineering', 'Research and Development', datetime.datetime(2002, 6, 1, 0, 0))
(2, 'Tool Design', 'Research and Development', datetime.datetime(2002, 6, 1, 0, 0))
(3, 'Sales', 'Sales and Marketing', datetime.datetime(2002, 6, 1, 0, 0))
(4, 'Marketing', 'Sales and Marketing', datetime.datetime(2002, 6, 1, 0, 0))
(5, 'Purchasing', 'Inventory Management', datetime.datetime(2002, 6, 1, 0, 0))
(6, 'Research and Development', 'Research and Development', datetime.datetime(2002, 6, 1, 0, 0))
(7, 'Production', 'Manufacturing', datetime.datetime(2002, 6, 1, 0, 0))
(8, 'Production Control', 'Manufacturing', datetime.datetime(2002, 6, 1, 0, 0))
(9, 'Human Resources', 'Executive General and Administration', datetime.datetime(2002, 6, 1, 0, 0))
(10, 'Finance', 'Executive General and Administration', datetime.datetime(2002, 6, 1, 0, 0))
(11, 'Information Services', 'Executive General and Administration', datetime.datetime(2002, 6, 1, 0, 0))
(12, 'Document Control', 'Quality Assurance', datetime.datetime(2002, 6, 1, 0, 0))
(13, 'Quality Assurance', 'Quality Assurance', datetime.datetime(2002, 6, 1, 0, 0))
(14, 'Facilities and Maintenance', 'Executive General and Administration', datetime.datetime(2002, 6, 1, 0, 0))
(15, 'Shipping and Receiving', 'Inventory Management', datetime.datetime(2002, 6, 1, 0, 0))
(16, 'Executive', 'Executive General and Administration', datetime.datetime(2002, 6, 1, 0, 0))

sonuc değişkenimiz <class 'list'> dir. Yani pyton listesi. Yukarıda Microsoft’un sample veri tabanı olan AdventureWorks2012 veri tabanına bağlanarak Department tablosundaki verileri sorguyla aldık ve liste tipindeki sonuc isimli bir nesnenin içine yazdırdık.

Başka bir yazıda görüşmek dileğiyle, veriyle kalın…

Python SQL Server Bağlantısı” için 2 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir