sql >> Databáze >  >> RDS >> Mysql

Jaký je rozdíl mezi MySQLdb, mysqlclient a MySQL konektorem/Pythonem?

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.



  1. Sequelizovat limit a kompenzovat nesprávné umístění v dotazu

  2. Jak nainstalovat Libreoffice na Ubuntu 16.04

  3. Nejlepší databázové blogy ke sledování

  4. Kde si mohu stáhnout ukázkovou databázi Mysql?