MySQLdb - це тонка обгортка пітона навколо модуля C, що реалізує API для бази даних MySQL.
Існувала версія оболонки MySQLDb1, яка використовувалася деякий час тому, і зараз вона вважається застарілою. Коли MySQLDb1 почав еволюціонувати до MySQLDb2 з виправленнями помилок та підтримкою Python3, MySQLDb1 був розгалужений, і ось як з’явився mysqlclient із виправленнями помилок та підтримкою Python3. Підсумовуємо, отже, тепер у нас є MySQLDb2, який не готовий до виробничого використання, MySQLDb1 як застарілий драйвер та підтримка спільноти mysqlclient із виправленнями помилок та підтримкою Python3.
Тепер, щоб вирішити цю халепу, MySQL пропонує власну версію адаптера MySQL - роз'єм mysql , вбудований модуль python, який використовує API MySQL без залежностей від C-модулів і використовує лише стандартні модулі python.
Отже, тепер питання зводиться до: mysqlclient проти роз’єму mysql.
Що стосується мене, я хотів би скористатися офіційно підтримуваною бібліотекою, однак це також mysqlclient
має бути хорошим вибором. Обидва вони активно оновлюються виправленнями та новими функціями, які ви можете побачити під час активних комітів за останні дні.
Примітка: У мене не було великого досвіду з ними, тому можуть бути випадки, коли ті чи інші не відповідають вашим потребам. Обидві бібліотеки відповідають стандарту PEP-249, що означає, що ви повинні бути добре з принаймні базовою функціональністю скрізь.
Встановлення та залежності
Як форк обгортки C, йому потрібні модулі C для роботи з MySQL, який додає заголовкові файли python для побудови цих розширень (читайте python-dev). Встановлення залежить від системи, якою ви користуєтесь, просто переконайтесь, що ви знаєте імена пакетів і можете їх встановити.