MySQLdb adalah pembungkus python tipis di sekitar modul C yang mengimplementasikan API untuk database MySQL.
Ada versi pembungkus MySQLDb1 yang digunakan beberapa waktu lalu dan sekarang dianggap sebagai warisan. Ketika MySQLDb1 mulai berevolusi ke MySQLDb2 dengan perbaikan bug dan dukungan Python3, MySQLDb1 telah bercabang dan berikut adalah bagaimana mysqlclient muncul, dengan perbaikan bug dan dukungan Python3. Singkatnya, jadi sekarang kita memiliki MySQLDb2 yang belum siap untuk digunakan produksi, MySQLDb1 sebagai driver yang ketinggalan jaman dan komunitas mendukung mysqlclient dengan perbaikan bug dan dukungan Python3.
Sekarang, untuk mengatasi kekacauan itu, MySQL menyediakan versi adaptor MySQL mereka sendiri - konektor mysql , modul python all-in yang menggunakan MySQL API tanpa dependensi modul C dan hanya modul python standar yang digunakan.
Jadi sekarang pertanyaannya adalah: konektor mysqlclient vs mysql.
Sedangkan untuk saya, saya akan pergi dengan perpustakaan yang didukung secara resmi, namun mysqlclient
harus menjadi pilihan yang baik juga. Keduanya sedang diperbarui secara aktif dengan perbaikan dan fitur baru yang dapat Anda lihat dengan melakukan aktif di hari-hari terakhir.
Catatan: Saya tidak memiliki banyak pengalaman dengan mereka, jadi mungkin ada kasus ketika satu atau lainnya tidak sesuai dengan kebutuhan Anda. Kedua pustaka mengikuti standar PEP-249 yang berarti Anda akan baik-baik saja dengan setidaknya fungsionalitas dasar di mana-mana.
Instalasi dan Dependensi
Sebagai garpu pembungkus C, diperlukan modul C untuk bekerja dengan MySQL yang menambahkan file header python untuk membangun ekstensi ini (baca python-dev). Instalasi tergantung pada sistem yang Anda gunakan, pastikan Anda mengetahui nama paket dan dapat menginstalnya.