MySQLdb je tenký obal pythonu kolem modulu C, který implementuje API pro databázi MySQL.
Došlo k MySQLDb1 verze wrapperu používaná před nějakou dobou a nyní je považována za dědictví. Jak se MySQLDb1 začal vyvíjet na MySQLDb2 s opravami chyb a podporou Python3 byl MySQLDb1 rozvětven a zde je návod, jak mysqlclient objevily se s opravami chyb a podporou Pythonu3. Suma sumárum, takže nyní máme MySQLDb2, který není připraven pro produkční použití, MySQLDb1 jako zastaralý ovladač a komunitou podporovaný mysqlclient s opravami chyb a podporou Pythonu3.
K vyřešení tohoto nepořádku nyní MySQL poskytuje vlastní verzi adaptéru MySQL - konektor mysql , modul all-in python, který používá MySQL API s žádnými závislostmi na modulech C a používají se pouze standardní moduly pythonu.
Nyní tedy přichází otázka:mysqlclient vs mysql konektor.
Pokud jde o mě, šel bych s oficiálně podporovanou knihovnou, nicméně mysqlclient
by měla být také dobrá volba. Oba jsou aktivně aktualizovány opravami a novými funkcemi, které můžete vidět v aktivních commitech v posledních dnech.
Poznámka:Neměl jsem s nimi mnoho zkušeností, takže se mohou vyskytnout případy, kdy některý z nich nebude vyhovovat vašim potřebám. Obě knihovny se řídí PEP-249 standardní, což znamená, že byste měli být v pořádku s alespoň základní funkčností všude.
Instalace a závislosti
- mysqlclient
Jako vidlice C wrapperu vyžaduje moduly C pro práci s MySQL, která přidává pythonové hlavičkové soubory k sestavení těchto rozšíření (čti python-dev). Instalace závisí na systému, který používáte, jen se ujistěte, že znáte názvy balíčků a můžete je nainstalovat.
- konektor mysqlHlavní dokumentace je celkem jasné, měli byste si však být vědomi Protobuf C++ závislost (pro konektor mysql verze>=2.2.3 ).