Python: преимущества и недостатки _mysql vs MySQLdb?
Две библиотеки для Mysql.
Я всегда использовал _mysql, потому что он проще.
Может ли кто-нибудь сказать мне разницу, и почему я должен использовать какой-то в определенных случаях?
Ответ 1
MySQLdb использует DB-API (описанный в PEP 249), который должен быть предпочтительным, поскольку он является общим для всех драйверов баз данных. ИМХО не имеет преимущества при переходе на низкоуровневый уровень с _mysql. Я предпочитаю использовать библиотеки более высокого уровня, например SQLAlchemy.
MySQL Connector/Python полностью реализует протокол MySQL Client/Server в Python. Это означает, что вам не нужно ничего компилировать, или MySQL даже не нужно устанавливать на машине.
Ответ 3
_mysql - это взаимно однозначное отображение грубого API mysql. Кроме того, DB-API построен, обрабатывает вещи с помощью курсоров и т.д.
Если вы привыкли к низкоуровневому API-интерфейсу mysql, предоставляемому libmysqlclient, то модуль _mysql - это то, что вам нужно, но, как говорится в другом ответе, нет реальной необходимости идти на столь низком уровне. Вы можете работать с DB-API и вести себя отлично, с дополнительным преимуществом, что DB-API не зависит от базы.