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.
Có 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.
- trình kết nối mysql Tài liệu chính khá rõ ràng, tuy nhiên bạn nên biết về Protobuf C ++ phụ thuộc (đối với trình kết nối mysql phiên bản> =2.2.3 ).