Python

Python ile MySql Veritabanı Bağlantısı -Windows

Bu yazıda sizlere pyton 3 ile mysql veritabanı bağlantısı yapıp verileri nasıl okuyacağınızı göstereceğim. Öncelikle Python veritabanı bağlantısı için bilgisayarımıza PyMySQL modülünün yüklü olması gerekiyor. Aşağıdaki adımları izleyerek PyMySQL modülünü kurabilirsiniz.

PyMySQL Modülünü Kurma

Adım 1: Komut ekranını çalıştır. ( WIN+X  >  Çalıştır     cmd  )

Adım 2:Pip dosyasının yolunu kopyalayın.

Adım 3: Komut ekranına aşağıdaki gibi komutları sırasıyla giriniz.

cd C:\Users\<Kullanıcı Adı>\AppData\Local\Programs\Python\Python36-32\Scripts
pip install PyMySQL

 

Python ile MySql Veritabanı Bağlanma

Aşağıdaki örneği yapmak için bu veritabanı dosyasını oluşturmanız gerekmektedir.

CREATE TABLE Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL
);
INSERT INTO `users` (`id`, `firstname`, `lastname`) VALUES (NULL, 'Andy', 'Poweren'), (NULL, 'Minna', 'Ree');

 

İlk olarak PyMySQL modülünü projeye dahil ediyoruz.

import pymysql.cursors

İkinci olarak mysql bağlantısı için gerekli bağlantı cümlesini yazıyoruz. Kullanıcı adı ve şifre bilgileri kendi bilgisayarınıza bağlı olarak değişiklik gösterir.

# Connect to the database
connection = pymysql.connect(host='localhost',
                             user='root',
                             password='',
                             db='dbname',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

 

Bu kod veritabanından tek kayıt okumak için yazılmıştır.

try:
    with connection.cursor() as cursor:
        # Read a single record
        sql = "SELECT `id`, `firstname`,`lastname` FROM `users` WHERE `id`=%s"
        cursor.execute(sql, ('2',))
        result = cursor.fetchone()
        print(result)
finally:
    connection.close()

 

Tüm verileri çekmek için fetchall() metodu ile tüm kayıtlar üzerinde dönerek okuma işlemini gerçekleştiriyoruz.

try:
    with connection.cursor() as cursor:
        # Read a single record
        sql = "SELECT `id`, `firstname`,`lastname` FROM `users`"
        cursor.execute(sql)
        
        for row in cursor.fetchall():
            #data from rows
            firstname = str(row["firstname"])
            lastname = str(row["lastname"])

            #print it
            print("The first name is : " + firstname)
            print("The last name is  : " + lastname)

finally:
    connection.close()

 

Örneğin Tüm Kodları:

# Connect to the database
connection = pymysql.connect(host='localhost',
                             user='root',
                             password='',
                             db='dbname',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

try:
    with connection.cursor() as cursor:
        # Read a single record
        sql = "SELECT `id`, `firstname`,`lastname` FROM `users`"
        cursor.execute(sql)
        
        for row in cursor.fetchall():
            #data from rows
            firstname = str(row["firstname"])
            lastname = str(row["lastname"])

            #print it
            print("The first name is : " + firstname)
            print("The last name is  : " + lastname)

finally:
    connection.close()

 

1 Yorum

  • Merhaba..create table users satırında invalid syntax hatası veriyor.ayrıca users id ,firstname kelimelerindeki tırnaklar diğer tırnaklara göre farklı nedeni nedir?

Yorum Yap