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ó phiên bản trình bao bọc MySQLDb1 được sử dụng cách đây một thời gian và bây giờ nó được coi là 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à 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 không có phụ thuộc mô-đun C và chỉ sử dụng mô-đun python tiêu chuẩn.
Vì vậy, bây giờ câu hỏi đi xuống: 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. Cả hai đều đang được cập nhật tích cực với các bản sửa lỗi và các tính năng mới mà bạn có thể thấy bằng các cam kết tích cực trong những ngày qua.
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 tiêu chuẩn PEP-249 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
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.