Dwie biblioteki dla MySQL. Zawsze używałem _mysql, ponieważ jest prostsze.Python: zalety i niepowodzenia programu _mysql vs MySQLdb?
Czy ktoś może mi powiedzieć, jaka jest różnica i dlaczego powinienem użyć jej w niektórych sytuacjach?
Dwie biblioteki dla MySQL. Zawsze używałem _mysql, ponieważ jest prostsze.Python: zalety i niepowodzenia programu _mysql vs MySQLdb?
Czy ktoś może mi powiedzieć, jaka jest różnica i dlaczego powinienem użyć jej w niektórych sytuacjach?
MySQLdb używa DB-API (opisany w PEP 249), który powinien być preferowany, ponieważ jest wspólny dla wszystkich sterowników baz danych. IMHO nie ma żadnej korzyści przechodząc na niskopoziomowe z _mysql
. Wolałbym raczej używać bibliotek wyższych poziomów, takich jak SQLAlchemy.
'_mysql' musi istnieć, aby podłącz api wyższego poziomu do bibliotek C. '_' powinno być wskazówką, że zwykle nie powinieneś go używać. –
niepowiązanych. Fajny kot. –
_mysql to odwzorowanie typu jeden-do-jednego przybliżonego interfejsu API mysql. Na dodatek zbudowany jest interfejs DB-API, obsługujący różne rzeczy za pomocą kursorów i tak dalej.
Jeśli jesteś przyzwyczajony do niskiego poziomu interfejsu mysql API dostarczonego przez libmysqlclient, to potrzebujesz modułu _mysql, ale jak mówi inna odpowiedź, nie ma takiej potrzeby, aby przejść tak niski poziom. Możesz pracować z DB-API i zachowywać się dobrze, z dodatkową korzyścią, że DB-API jest niezależny od backendu.
Alternatywnie, można użyć MySQL Connector/Python:
MySQL Connector/Python realizuje protokół MySQL Client/Server całkowicie w Pythonie. Oznacza to, że nie musisz niczego kompilować, a MySQL nie musi nawet być zainstalowany na komputerze.
myślę, że to z pewnością zainteresuje ... http://charlesnagy.info/it/python/python-mysqldb-vs-mysql-connector-query-performance – Eugene