Python: преимущества и недостатки _mysql vs MySQLdb?

Две библиотеки для Mysql. Я всегда использовал _mysql, потому что он проще.

Может ли кто-нибудь сказать мне разницу, и почему я должен использовать какой-то в определенных случаях?

Ответ 1

MySQLdb использует DB-API (описанный в PEP 249), который должен быть предпочтительным, поскольку он является общим для всех драйверов баз данных. ИМХО не имеет преимущества при переходе на низкоуровневый уровень с _mysql. Я предпочитаю использовать библиотеки более высокого уровня, например SQLAlchemy.

Ответ 2

В качестве альтернативы вы можете использовать MySQL Connector/Python:

MySQL Connector/Python полностью реализует протокол MySQL Client/Server в Python. Это означает, что вам не нужно ничего компилировать, или MySQL даже не нужно устанавливать на машине.

Ответ 3

_mysql - это взаимно однозначное отображение грубого API mysql. Кроме того, DB-API построен, обрабатывает вещи с помощью курсоров и т.д.

Если вы привыкли к низкоуровневому API-интерфейсу mysql, предоставляемому libmysqlclient, то модуль _mysql - это то, что вам нужно, но, как говорится в другом ответе, нет реальной необходимости идти на столь низком уровне. Вы можете работать с DB-API и вести себя отлично, с дополнительным преимуществом, что DB-API не зависит от базы.