MySQLdb е тънка обвивка на python около C модул, който имплементира API за MySQL база данни.
Имаше MySQLDb1 версия на обвивка, използвана преди време и сега се счита за наследство. Тъй като MySQLDb1 започна да се развива до MySQLDb2 с корекции на грешки и поддръжка на Python3, MySQLDb1 беше разклонен и ето как mysqlclient се появи, с корекции на грешки и поддръжка на Python3. Обобщете, така че сега имаме MySQLDb2, който не е готов за производствена употреба, MySQLDb1 като остарял драйвер и поддържан от общността mysqlclient с корекции на грешки и поддръжка на Python3.
Сега, за да разреши тази бъркотия, MySQL предоставя своя собствена версия на MySQL адаптера - mysql конектор , пълен модул на python, който използва MySQL API с без зависимости от C модули и се използват само стандартни модули на Python.
Така че сега въпросът се свежда до:mysqlclient срещу mysql конектор.
Що се отнася до мен, бих използвал официално поддържана библиотека, но mysqlclient
би трябвало също да е добър избор. И двете се актуализират активно с поправки и нови функции, които можете да видите чрез активни комитации през последните дни.
Забележка:Нямах много опит с тях, така че може да има случаи, когато едно или друго не отговаря на вашите нужди. И двете библиотеки следват PEP-249 стандарт, което означава, че трябва да сте добре с поне основна функционалност навсякъде.
Инсталиране и зависимости
- mysqlclient
Като разклонение на C обвивка изисква C модули за работа с MySQL, който добавя заглавни файлове на python за изграждане на тези разширения (прочетете python-dev). Инсталацията зависи от системата, която използвате, просто се уверете, че сте наясно с имената на пакетите и можете да ги инсталирате.
- mysql конекторОсновна документация е доста ясно, но трябва да сте наясно с Protobuf C++ зависимост (за mysql конектор версии>=2.2.3 ).