Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaka jest różnica między MySQLdb, mysqlclient i MySQL Connector/Python?

MySQLdb jest cienkim opakowaniem Pythona wokół modułu C, który implementuje API dla bazy danych MySQL.

Był MySQLDb1 wersja wrappera używana jakiś czas temu, a obecnie uważana za spuściznę. Gdy MySQLDb1 zaczął ewoluować do MySQLDb2 z poprawkami błędów i obsługą Python3, MySQLDb1 został rozwidlony i oto jak mysqlclient pojawił się, z poprawkami błędów i obsługą Python3. Podsumowując, teraz mamy MySQLDb2, który nie jest gotowy do użytku produkcyjnego, MySQLDb1 jako przestarzały sterownik oraz wspierany przez społeczność mysqlclient z poprawkami błędów i obsługą Python3.

Teraz, aby rozwiązać ten bałagan, MySQL udostępnia własną wersję adaptera MySQL - złącze mysql , wszechstronny moduł Pythona, który korzysta z interfejsu API MySQL z bez zależności między modułami C i używane są tylko standardowe moduły Pythona.

Więc teraz pytanie sprowadza się do:mysqlclient vs mysql connector.

Jeśli chodzi o mnie, wybrałbym oficjalnie obsługiwaną bibliotekę, jednak mysqlclient powinien być również dobrym wyborem. Oba z nich są aktywnie aktualizowane o poprawki i nowe funkcje, które można zobaczyć po aktywnych zatwierdzeniach w ostatnich dniach.

Uwaga:nie mam z nimi dużego doświadczenia, więc mogą się zdarzyć przypadki, gdy jeden lub drugi nie odpowiada Twoim potrzebom. Obie biblioteki podążają za PEP-249 standardowo, co oznacza, że ​​wszędzie powinno wystarczyć przynajmniej podstawowa funkcjonalność.

Instalacja i zależności

  • mysqlclient

Jako rozwidlenie wrappera C wymaga modułów C do pracy z MySQL, który dodaje pliki nagłówkowe Pythona do budowania tych rozszerzeń (czytaj python-dev). Instalacja zależy od używanego systemu, po prostu upewnij się, że znasz nazwy pakietów i możesz je zainstalować.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak obliczyć tygodniowych aktywnych użytkowników (WAU) w MySQL?

  2. Zmień i zresetuj hasło roota MySQL

  3. Migracja MySQL do PostgreSQL na AWS RDS, część 3

  4. Jak przeprowadzić migrację samodzielnego Moodle do skalowalnej konfiguracji klastrowej bazy danych

  5. Szybkość zapytań na podstawie kolejności kolumn