SQL Connection and Data Manipulation

Kategori: Python , 06 Eylül 2019 , JanFranco


Bu yazımda Python kullanarak SQL veritabanına nasıl bağlanmayı ve işlemler gerçekleştirmeyi göstereceğim. SQL sunucuya bağlanabilmek için pyobdc kütüphanesini kullanacağız. Hazır gelen kütüphanelerden olmadığından aşağıdaki komut ile kuralım:


pip install pyobdc
Ben bir veritabanı oluşturdum ve workers adında bir tablo açtım. İşlemlerimi bu tablo üzerinden gerçekleştireceğim. Veritabanı bilgisayarımda bulunuyor, bir sunucuya gerek duymadım. İlk bağlantımızı kuralım ve tablodaki verileri SELECT komutu ile çekelim:


import pyodbc

con = pyodbc.connect("DRIVER={SQL Server};"
                      "SERVER=localhost;"
                      "DATABASE=forPython;"
                      "UID=janfranco;"
                      "PWD=123456789;"
                      "Trusted_Connection=yes;")

cursor = con.cursor()
cursor.execute('SELECT * FROM workers')

for row in cursor:
    print(row)

con.close()

>>

(1, 'Jan       ', 'Franco    ', 'ABC       ')
(2, 'Jane      ', 'Franco    ', 'DEF       ')
(3, 'X         ', 'Franco    ', 'ABC       ')
(4, 'Y         ', 'Franco    ', 'DEF       ')
Kodda gerekli kısımları kendinize göre düzenleyebilirsiniz. "localhost" kısmına varsa sunucu IP adresiniz vs. yazabilirsiniz. Veritabanı ismini, kullanıcı ve şifre bilgilerini de kendinize göre düzenlemelisiniz. Tablo oluşturalım:


cursor = con.cursor()
cursor.execute('CREATE TABLE workers_2 (Name TEXT, Surname TEXT, Department TEXT , Salary INT)')
con.commit()
con.close()
Tabloya veri ekleyelim:


cursor = con.cursor()
cursor.execute("INSERT INTO workers_2 ([Name], [Surname], [Department], [Salary]) VALUES ('Jan','Franco','ABC', 3000)")
con.commit()
con.close()
Tablodaki bir veriyi güncelleyelim:


cursor = con.cursor()
cursor.execute("UPDATE workers_2 SET Name = 'Jane' where Name = 'Jan'")
con.close()
Tablodan bir veri silelim:


cursor = con.cursor()
cursor.execute("DELETE FROM workers_2 WHERE Name = 'Jane'")
con.close()
Kullanıcıdan aldığımız input'u veritabanına eklediğimiz bir örnek yapalım:


import pyodbc

con = pyodbc.connect("DRIVER={SQL Server};"
                      "SERVER=localhost;"
                      "DATABASE=forPython;"
                      "UID=janfranco;"
                      "PWD=123456789;"
                      "Trusted_Connection=yes;")

cursor = con.cursor()


def add_data(name, surname, department, salary):
    cursor.execute("INSERT INTO workers VALUES(?,?,?,?)", (name, surname, department, salary))
    con.commit()


name = input("Name: ")
surname = input("Surname: ")
department = input("Department: ")
salary = int(input("Salary: "))

add_data(name, surname, department, salary)
cursor.execute('SELECT * FROM workers')

for row in cursor:
    print(row)

con.close()


Sonraki Yazı: Advanced Functions, args, kwargs
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın