MySQL adalah salah satu database relasional yang paling populer. Ini memungkinkan Anda untuk menyimpan data dalam tabel dan membuat hubungan antara tabel tersebut. Untuk menggunakan MySQL, yang berjalan sebagai server database, Anda perlu menulis kode untuk menghubungkannya.

Sebagian besar bahasa pemrograman seperti Python menyediakan dukungan untuk ini. Sebenarnya, di Python, ada beberapa pendekatan yang bisa Anda ambil, masing-masing dengan kelebihannya sendiri.

Siapkan Konfigurasi MySQL Anda

Untuk terhubung ke database, Anda memerlukan nilai berikut:

  • Host: lokasi server MySQL, localhost jika Anda menjalankannya di komputer yang sama.
  • Pengguna: nama pengguna MySQL.
  • Kata sandi: kata sandi MySQL.
  • Nama database: nama database yang ingin Anda sambungkan.

Sebelum menghubungkan ke database MySQL, buat direktori baru:

mkdir python-mysql

Siapkan Lingkungan Virtual Python

Lingkungan virtual Python memungkinkan Anda untuk menginstal paket dan menjalankan skrip di lingkungan yang terisolasi. ketika kamu

instagram viewer
membuat lingkungan virtual, Anda kemudian dapat menginstal versi dependensi Python dan Python di dalamnya. Dengan cara ini, Anda mengisolasi versi yang berbeda dan menghindari masalah kompatibilitas.

Terhubung ke MySQL Menggunakan mysqlclient

Itu klien mysql driver adalah antarmuka ke server database MySQL yang menyediakan API server database Python. Ditulis dalam C

Jalankan perintah berikut di lingkungan virtual untuk menginstal mysqlclient:

pip Install klien mysql

Jika Anda menggunakan mesin Linux, instal header dan library pengembangan Python 3 dan MySQL terlebih dahulu.

# Debian / Ubuntu
sudo apt-get Install python3-dev bawaan-libmysqlclient-dev membangun-penting

# Red Hat / CentOS
sudo nyam Install python3-devel mysql-devel

Di Windows, Anda dapat menginstal mysqlclient menggunakan file roda biner. Unduh file mysqlclient yang kompatibel dengan platform Anda dari Koleksi tidak resmi Christoph Gohlke. Anda kemudian dapat menggunakan file roda yang diunduh dengan pip untuk menginstal mysqlclient seperti ini:

pipInstallc:\\klien mysql‑1.3.13cp36cp36mwin_amd64.whl

Gunakan kode koneksi berikut untuk terhubung ke database MySQL setelah instalasi selesai:

impor MySQLdb

koneksi = MySQLdb.koneksi(
tuan rumah ="localhost",
pengguna ="<mysql_user>",
paswd="<mysql_password>",
db="<database_name>"
)

kursor = koneksi.kursor()
kursor.jalankan("Pilihbasis data();")
db = cursor.fetchone()

jika db:
mencetak("Anda'terhubung kembali ke database: ", db)
kalau tidak:
mencetak('Tidak terhubung.')

Dalam program ini, Anda memiliki:

  • mysqlclient yang diimpor.
  • Membuat objek koneksi menggunakan MySQLdb.connect().
  • Melewati detail konfigurasi database ke MySQLdb.connect().
  • Membuat objek kursor untuk berinteraksi dengan MySQL.
  • Menggunakan objek kursor untuk mengambil versi database MySQL yang terhubung.

Ingatlah untuk mengganti detail database dengan milik Anda.

Terhubung ke MySQL Menggunakan mysql-connector-python

mysql-konektor-python adalah driver koneksi resmi yang didukung oleh Oracle. Itu juga ditulis dengan Python murni.

Instal melalui pip untuk mulai menggunakannya.

pip Install mysql-konektor-python

Hubungkan ke MySQL menggunakan kode koneksi berikut.

impor mysql.connector
dari mysql.connector imporKesalahan

koneksi = mysql.connector.connect (host="localhost",
pengguna ="<mysql_user>",
paswd="<mysql_password>",
db="<database_name>")

mencoba:
jikakoneksi.is_connected():
kursor = koneksi.kursor()
kursor.jalankan("Pilihbasis data();")
db = cursor.fetchone()
mencetak("Anda'terhubung kembali ke database: ", db)
kecuali Kesalahansebagai e:
mencetak("Kesalahanketika menghubungkan ke MySQL", e)
akhirnya:
jikakoneksi.is_connected():
kursor.menutup()
koneksi.menutup()
print("Koneksi MySQL adalah tertutup")

Kode koneksi di atas melakukan hal yang sama dengan kode koneksi mysqlclient.

Setelah Anda membuat objek koneksi, Anda dapat membuat kursor, yang kemudian dapat Anda gunakan untuk mengeksekusi kueri pada database.

Program koneksi ini juga menggunakan coba tangkap memblokir. Kelas Kesalahan, dari mysql.connector, memungkinkan Anda menangkap pengecualian yang muncul saat menyambungkan ke database. Ini harus menyederhanakan debugging dan pemecahan masalah.

Terhubung ke MySQL Menggunakan PyMySQL

Itu PyMySQL driver koneksi adalah pengganti MySQLdb. Untuk menggunakannya, Anda harus menjalankan Python 3.7 atau yang lebih baru dan server MySQL Anda harus versi 5. 7, atau lebih baru. Jika Anda menggunakan MariaDB, itu harus versi 10.2 atau lebih tinggi. Anda dapat menemukan persyaratan ini di Halaman Github PyMySQL.

Untuk menginstal PyMySQL, jalankan perintah berikut.

pip Install PyMySQL

Hubungkan ke MySQL menggunakan PyMySQL menggunakan kode ini.

impor pymysql

koneksi = pymysql.connect (host="localhost",
pengguna ="<mysql_user>",
kata sandi ="<mysql_password>",
basis data ="<database_name>")

mencoba:
kursor = koneksi.kursor()
kursor.jalankan("Pilihbasis data();")
db = cursor.fetchone()
mencetak("Anda'terhubung kembali ke database: ", db)
kecuali pymysql. Kesalahan sebagai e:
mencetak("Kesalahanketika menghubungkan ke MySQL", e)
akhirnya:
kursor.menutup()
koneksi.menutup()
print("Koneksi MySQL adalah tertutup")

Setelah Anda membuat koneksi, dan membuat objek kursor, Anda dapat mulai membuat kueri SQL.

Terhubung ke MySQL Menggunakan aiomysql

Itu aiomysql driver koneksi seperti versi asinkron PyMySQL. Ini menyediakan akses ke database MySQL dari kerangka asyncio.

Untuk menggunakan aiomysql, Anda memerlukan Python 3.7+ dan PyMySQL terinstal di lingkungan pengembangan Anda.

Jalankan perintah berikut untuk menginstal asyncio dan aiomysql.

pip Install asyncio
pip Install aiomysql

Dengan aiomysql, Anda dapat menghubungkan Python ke MySQL menggunakan objek koneksi dasar dan menggunakan kumpulan koneksi.

Berikut adalah contoh yang menunjukkan bagaimana menghubungkan ke database MySQL menggunakan objek koneksi.

impor asyncio
impor aiomysql
loop = asyncio.get_event_loop()

tidak sinkrondefpython_mysql():
koneksi = menunggu aiomysql.connect (host="localhost",
pengguna ="<mysql_user>",
kata sandi ="<mysql_password>",
basis data ="<database_name>")

skr = menunggu koneksi.kursor()
menunggu cur.execute("Pilihbasis data();")
db = menunggu cur.fetchone()
mencetak("Anda'terhubung kembali ke database: ", db)
menunggu skr.tutup()
koneksi.menutup()

lingkaran.run_until_complete(python_mysql())

Tidak seperti objek koneksi database, kumpulan koneksi memungkinkan Anda untuk menggunakan kembali koneksi database. Ini dilakukan dengan mempertahankan kumpulan koneksi terbuka dan menugaskannya berdasarkan permintaan. Ketika klien meminta koneksi, mereka ditugaskan satu dari kumpulan. Setelah klien menutup koneksi, koneksi kembali ke pool.

Kode dasar untuk menghubungkan melalui kolam seperti di bawah ini:

impor asyncio
impor aiomysql
loop = asyncio.get_event_loop()
tidak sinkrondefpython_mysql():
pool = menunggu aiomysql.create_pool (host="localhost",
pengguna ="<mysql_user>",
kata sandi ="<mysql_password>",
basis data ="<database_name>", loop=loop, autocommit=False)

tidak sinkrondengan kolam.memperoleh() sebagai koneksi:
kursor = menunggu koneksi.kursor()
menunggu cur.execute("Pilihbasis data();")
db = menunggu cur.fetchone()
mencetak("Anda'terhubung kembali ke database: ", db)

kolam.menutup()
menunggu kolam.tunggu_closed()

lingkaran.run_until_complete(python_mysql())

Program ini harus mencetak versi MySQL yang Anda hubungkan saat Anda menjalankannya.

Mengelola Database PostgreSQL Anda

Artikel ini menunjukkan kepada Anda beberapa cara untuk menghubungkan aplikasi Python ke MySQL. Masing-masing metode ini memungkinkan Anda untuk berinteraksi dengan dan menjalankan kueri pada database.

Setelah terhubung ke database MySQL, Anda dapat mengeksekusi kueri data dan melakukan transaksi database. Anda dapat membuat aplikasi Python, menghubungkannya ke MySQL, dan mulai menyimpan data.