MySQL, en popüler ilişkisel veritabanlarından biridir. Verileri tablolarda saklamanıza ve bu tablolar arasında ilişkiler oluşturmanıza olanak tanır. Veritabanı sunucusu olarak çalışan MySQL'i kullanmak için, ona bağlanmak için kod yazmanız gerekecektir.

Python gibi çoğu programlama dili bunun için destek sağlar. Aslında Python'da uygulayabileceğiniz, her birinin kendine has avantajları olan birkaç yaklaşım vardır.

MySQL Yapılandırmanızı Hazırlayın

Veritabanına bağlanmak için aşağıdaki değerlere ihtiyacınız vardır:

  • Ana Bilgisayar: MySQL sunucusunun konumu, aynı bilgisayarda çalıştırıyorsanız localhost.
  • Kullanıcı: MySQL kullanıcı adı.
  • Şifre: MySQL şifresi.
  • Veritabanı adı: bağlanmak istediğiniz veritabanının adı.

MySQL veritabanına bağlanmadan önce yeni bir dizin oluşturun:

mkdir python-mysql

Bir Python Sanal Ortamı Kurun

Python sanal ortamı, paketleri kurmanıza ve yalıtılmış bir ortamda komut dosyaları çalıştırmanıza olanak tanır. Sen ne zaman sanal bir ortam oluştur, daha sonra içine Python ve Python bağımlılıklarının sürümlerini yükleyebilirsiniz. Bu şekilde, farklı sürümleri izole eder ve uyumluluk sorunlarından kaçınırsınız.

instagram viewer

mysqlclient kullanarak MySQL'e bağlanın

bu mysqlclient sürücü, Python veritabanı sunucusu API'sini sağlayan MySQL veritabanı sunucusuna yönelik bir arabirimdir. C ile yazılır.

mysqlclient'i yüklemek için sanal ortamda aşağıdaki komutu çalıştırın:

pip Yüklemek mysqlclient

Bir Linux makinesindeyseniz, önce Python 3 ve MySQL geliştirme başlıklarını ve kitaplıklarını kurun.

# Debian / Ubuntu
sudo uygun-get Yüklemek python3-dev varsayılan-libmysqlclient-dev inşa etmek-gerekli

# Kırmızı Şapka / CentOS
sudo yum Yüklemek python3-devel mysql-devel

Windows'ta, bir ikili tekerlek dosyası kullanarak mysqlclient'i yükleyebilirsiniz. Platformunuzla uyumlu mysqlclient dosyasını şuradan indirin: Christoph Gohlke'nin resmi olmayan koleksiyonu. Daha sonra mysqlclient'i şu şekilde kurmak için indirilen tekerlek dosyasını pip ile kullanabilirsiniz:

pipYüklemekc:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Kurulum tamamlandıktan sonra MySQL veritabanına bağlanmak için aşağıdaki bağlantı kodunu kullanın:

içe aktarmak MySQLdb

bağlantı = MySQLdb.connect(
ev sahibi="yerel ana bilgisayar",
kullanıcı="<mysql_user>",
şifre="<mysql_password>",
db="<veri tabanı ismi>"
)

imleç = bağlantı.cursor()
imleç.execute("seçmeveri tabanı();")
db = imleç.fetchone()

eğer db:
Yazdır("Sen'veritabanına yeniden bağlandı: ", db)
başka:
Yazdır('Bağlı değil.')

Bu programda şunlara sahipsiniz:

  • İçe aktarılan mysqlclient.
  • MySQLdb.connect() kullanılarak bir bağlantı nesnesi oluşturuldu.
  • Veritabanı yapılandırma ayrıntılarını MySQLdb.connect() öğesine iletti.
  • MySQL ile etkileşim kurmak için bir imleç nesnesi oluşturuldu.
  • Bağlı MySQL veritabanının sürümünü almak için imleç nesnesini kullandı.

Veritabanı ayrıntılarını kendinizle değiştirmeyi unutmayın.

mysql-connector-python kullanarak MySQL'e bağlanın

mysql-bağlayıcı-python Oracle tarafından desteklenen resmi bağlantı sürücüsüdür. Ayrıca saf Python ile yazılmıştır.

Kullanmaya başlamak için pip ile kurun.

pip Yüklemek mysql-bağlayıcı-python

Aşağıdaki bağlantı kodunu kullanarak MySQL'e bağlanın.

içe aktarmak mysql.bağlayıcı
itibaren mysql.bağlayıcı içe aktarmakHata

bağlantı = mysql.connector.connect (ana bilgisayar="yerel ana bilgisayar",
kullanıcı="<mysql_user>",
şifre="<mysql_password>",
db="<veri tabanı ismi>")

denemek:
eğerbağ.bağlandı():
imleç = bağlantı.cursor()
imleç.execute("seçmeveri tabanı();")
db = imleç.fetchone()
Yazdır("Sen'veritabanına yeniden bağlandı: ", db)
hariç Hataolarak e:
Yazdır("Hatasüre MySQL'e bağlanma", e)
en sonunda:
eğerbağ.bağlandı():
imleç.kapat()
bağ.kapat()
print("MySQL bağlantısı dır-dir kapalı")

Yukarıdaki bağlantı kodu, mysqclient bağlantı kodunun yaptığının aynısını yapar.

Bağlantı nesnesini oluşturduktan sonra, veritabanında sorguları yürütmek için kullanabileceğiniz bir imleç oluşturabilirsiniz.

Bu bağlantı programı ayrıca dene… yakala engellemek. Error sınıfı, mysql.bağlayıcı, veritabanına bağlanırken ortaya çıkan istisnaları yakalamanızı sağlar. Bu, hata ayıklamayı ve sorun gidermeyi basitleştirmelidir.

PyMySQL Kullanarak MySQL'e Bağlanma

bu PyMySQL bağlantı sürücüsü MySQLdb'nin yerine geçmiştir. Kullanmak için Python 3.7 veya daha yenisini çalıştırıyor olmanız ve MySQL sunucunuzun sürüm 5 olması gerekir. 7 veya daha yeni. MariaDB kullanıyorsanız, sürüm 10.2 veya üstü olmalıdır. Bu gereksinimleri adresinde bulabilirsiniz. PyMySQL Github sayfası.

PyMySQL'i kurmak için aşağıdaki komutu çalıştırın.

pip Yüklemek PyMySQL

Bu kodu kullanarak PyMySQL kullanarak MySQL'e bağlanın.

içe aktarmak pymysql

bağlantı = pymysql.connect (ana bilgisayar="yerel ana bilgisayar",
kullanıcı="<mysql_user>",
şifre="<mysql_password>",
veritabanı="<veri tabanı ismi>")

denemek:
imleç = bağlantı.cursor()
imleç.execute("seçmeveri tabanı();")
db = imleç.fetchone()
Yazdır("Sen'veritabanına yeniden bağlandı: ", db)
hariç pymysql. Hata olarak e:
Yazdır("Hatasüre MySQL'e bağlanma", e)
en sonunda:
imleç.kapat()
bağ.kapat()
print("MySQL bağlantısı dır-dir kapalı")

Bağlantıyı kurduktan ve imleç nesnesini oluşturduktan sonra, oluşturmaya başlayabilirsiniz. SQL sorguları.

aiomysql Kullanarak MySQL'e Bağlanın

bu aiomysql bağlantı sürücüsü, PyMySQL'in asenkron versiyonu gibidir. Asyncio çerçevesinden bir MySQL veritabanına erişim sağlar.

aiomysql kullanmak için geliştirme ortamınızda Python 3.7+ ve PyMySQL kurulu olmalıdır.

asyncio ve aiomysql yüklemek için aşağıdaki komutu çalıştırın.

pip Yüklemek asyncio
pip Yüklemek aiomysql

aiomysql ile, temel bir bağlantı nesnesi ve bir bağlantı havuzu kullanarak Python'u MySQL'e bağlayabilirsiniz.

İşte bir bağlantı nesnesi kullanarak MySQL veritabanına nasıl bağlanılacağını gösteren bir örnek.

içe aktarmak asyncio
içe aktarmak aiomysql
döngü = asyncio.get_event_loop()

zaman uyumsuztanımpython_mysql():
bağlantı = aiomysql.connect bekle (host="yerel ana bilgisayar",
kullanıcı="<mysql_user>",
şifre="<mysql_password>",
veritabanı="<veri tabanı ismi>")

kür = beklemek bağlantı.imleç()
cur.execute("seçmeveri tabanı();")
db = beklemek cur.fetchone()
Yazdır("Sen'veritabanına yeniden bağlandı: ", db)
beklemek dönüş.kapat()
bağ.kapat()

döngü.run_until_complete(python_mysql())

Bir veritabanı bağlantı nesnesinden farklı olarak, bir bağlantı havuzu, veritabanı bağlantılarını yeniden kullanmanıza olanak tanır. Bunu, bir açık bağlantı havuzunu koruyarak ve istek üzerine atayarak yapar. Bir istemci bağlantı istediğinde, havuzdan bir bağlantı atanır. İstemci bağlantıyı kapattığında, bağlantı havuza geri döner.

Bir havuz üzerinden bağlanmak için temel kod aşağıdaki gibidir:

içe aktarmak asyncio
içe aktarmak aiomysql
döngü = asyncio.get_event_loop()
zaman uyumsuztanımpython_mysql():
havuz = aiomysql.create_pool bekleyin (ana bilgisayar="yerel ana bilgisayar",
kullanıcı="<mysql_user>",
şifre="<mysql_password>",
veritabanı="<veri tabanı ismi>", döngü=döngü, otomatik taahhüt=Yanlış)

zaman uyumsuzile birlikte havuz.alınma() olarak bağ:
imleç = beklemek bağlantı.imleç()
cur.execute("seçmeveri tabanı();")
db = beklemek cur.fetchone()
Yazdır("Sen'veritabanına yeniden bağlandı: ", db)

havuz.kapat()
beklemek pool.wait_closed()

döngü.run_until_complete(python_mysql())

Bu program, çalıştırdığınızda bağlı olduğunuz MySQL sürümünü yazdırmalıdır.

PostgreSQL Veritabanınızı Yönetme

Bu makale size bir Python uygulamasını MySQL'e bağlamanın birkaç yolunu gösterdi. Bu yöntemlerin her biri, veritabanıyla etkileşim kurmanıza ve bu sorguları yürütmenize olanak tanır.

Bir MySQL veritabanına bağlandıktan sonra, veri sorguları yürütebilir ve veritabanı işlemleri gerçekleştirebilirsiniz. Bir Python uygulaması oluşturabilir, onu MySQL'e bağlayabilir ve veri depolamaya başlayabilirsiniz.