MySQLdb är en tunn pythonomslag runt C-modulen som implementerar API för MySQL-databas.
Det fanns MySQLDb1 version av omslaget användes för en tid sedan och nu anses det vara ett arv. När MySQLDb1 började utvecklas till MySQLDb2 med buggfixar och Python3-stöd, splittrades en MySQLDb1 och här är hur mysqlclient dök upp, med buggfixar och Python3-stöd. Sammanfattningsvis, så nu har vi MySQLDb2 som inte är redo för produktionsanvändning, MySQLDb1 som en föråldrad drivrutin och en community-stödd mysqlclient med buggfixar och Python3-stöd.
Nu, för att lösa den här röran, tillhandahåller MySQL sin egen version av MySQL-adapter - mysql-anslutare , en all-in python-modul som använder MySQL API med inga C-modulberoenden och endast vanliga pythonmoduler används.
Så nu kommer frågan till:mysqlclient vs mysql connector.
När det gäller mig, skulle jag gå med officiellt stödda bibliotek, dock mysqlclient
bör också vara ett bra val. Båda av dem uppdateras aktivt med korrigeringar och nya funktioner som du kan se av aktiva commits de senaste dagarna.
Obs:Jag har inte så mycket erfarenhet av dem, så det kan finnas fall då det ena eller det andra inte passar dina behov. Båda biblioteken följer PEP-249 standard vilket innebär att du borde klara dig med åtminstone basfunktionalitet överallt.
Installation och beroenden
- mysqlclient
Som en gaffel av C-omslag kräver det C-moduler för att fungera med MySQL som lägger till python-huvudfiler för att bygga dessa tillägg (läs python-dev). Installationen beror på vilket system du använder, se bara till att du känner till paketnamnen och kan installera dem.
- mysql-anslutareHuvuddokumentation är ganska tydligt, men du bör vara medveten om Protobuf C++ beroende (för mysql-anslutare versioner>=2.2.3 ).