Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sự khác biệt giữa MySQLdb, mysqlclient và MySQL connector / Python là gì?

MySQLdb là một trình bao bọc python mỏng xung quanh mô-đun C triển khai API cho cơ sở dữ liệu MySQL.

MySQLDb1 phiên bản wrapper đã được sử dụng cách đây một thời gian và bây giờ nó được coi là một di sản. Khi MySQLDb1 bắt đầu phát triển thành MySQLDb2 với các bản sửa lỗi và hỗ trợ Python3, MySQLDb1 đã được phân nhánh và đây là cách mysqlclient đã xuất hiện, với các bản sửa lỗi và hỗ trợ Python3. Tóm lại, bây giờ chúng ta có MySQLDb2 chưa sẵn sàng để sử dụng sản xuất, MySQLDb1 là một trình điều khiển lỗi thời và cộng đồng hỗ trợ mysqlclient với các bản sửa lỗi và hỗ trợ Python3.

Bây giờ, để giải quyết mớ hỗn độn đó, MySQL cung cấp phiên bản bộ điều hợp MySQL của riêng họ - trình kết nối mysql , một mô-đun python tất cả trong sử dụng MySQL API với không có phụ thuộc mô-đun C và chỉ các mô-đun python tiêu chuẩn được sử dụng.

Vì vậy, bây giờ câu hỏi đặt ra là:trình kết nối mysqlclient vs mysql.

Đối với tôi, tôi sẽ sử dụng thư viện được hỗ trợ chính thức, tuy nhiên mysqlclient cũng nên là một lựa chọn tốt.

Lưu ý:Tôi không có nhiều kinh nghiệm với chúng, vì vậy có thể có trường hợp cái này hoặc cái khác không phù hợp với nhu cầu của bạn. Cả hai thư viện đều tuân theo PEP-249 tiêu chuẩn có nghĩa là bạn sẽ ổn với ít nhất chức năng cơ bản ở mọi nơi.

Cài đặt và phụ thuộc

  • mysqlclient

Là một nhánh của trình bao bọc C, nó yêu cầu mô-đun C hoạt động với MySQL, bổ sung các tệp tiêu đề python để xây dựng các phần mở rộng này (đọc python-dev). Việc cài đặt phụ thuộc vào hệ thống bạn sử dụng, chỉ cần đảm bảo rằng bạn biết tên gói và có thể cài đặt chúng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T_ENCAPSED_AND_WHITESPACE không mong muốn, gặp lỗi T_STRING hoặc T_VARIABLE hoặc T_NUM_STRING

  2. Có cách nào để trả về id của một hàng vừa được tạo trong MySQL bằng PHP không?

  3. Cài đặt pdo_mysql trên Amazon EC2 với PHP 5.5

  4. Làm cách nào để kết nối với cơ sở dữ liệu MySQL từ Clojure?

  5. Lỗi ActiveRecord:SAVEPOINT active_record_1 không tồn tại