MySQL/MariaDB là 1 trong Hệ quản trị CSDL được sử dụng phổ biến nhất, sau đây là những cách kết nối tới MySQL/MariaDB sử dụng ngôn ngữ lập trình Python 3
Nội dung chính Hiển thị
- Các thư viện kết nối MySQL/MariaDB
- 1. Trình kết nối MySQL Python
- 4. Máy khách MySQL
- Cài đặt thư viện MySQL Client
- Connect to MySQL/MariaDB by MySQL Client library with Python 3
- Chuẩn bị và Cài đặt
- Connected with MariaDB server
- Truy xuất dữ liệu
- Add data
- Start off
- Complete command
Các thư viện kết nối MySQL/MariaDB
To connect to MySQL/MariaDB, there are 4 library
1. Trình kết nối MySQL Python
- Trang chủ. https. //pypi. con trăn. org/pypi/mysql-connector-python
- Được hỗ trợ bởi Oracle
- cao trăn nguyên chất
- Hơi chậm 1 chút
- Không tương thích với MySQLdb
2. PyMySQL
- Trang chủ. https. //pypi. con trăn. tổ chức/pypi/pymysql
- cao trăn nguyên chất
- Nhanh hơn mysql-connector
- Phần lơ lửng tương thích với MySQLdb
3. CyMySQL
- Trang chủ. https. //pypi. con trăn. tổ chức/pypi/cymysql
- Một nhánh rẽ của pymysql sử dụng ngôn ngữ C để tăng hiệu suất
4. Máy khách MySQL
- Trang chủ. https. //pypi. con trăn. tổ chức/pypi/mysqlclient
- Github. https. //github. com/PyMySQL/mysqlclient-python
- Tài liệu. https. //mysqlclient. đọcthedocs. io/user_guide. html
- Thư viện được giới thiệu bởi Django
- Một góc quay của MySQLdb
- Activity nhanh vì nó dựa trên C
- Phần lớn tương thích với MySQLdb
- Debian và Ubuntu cung cấp cho nó như là 1 gói. python-mysqldb và python3-mysqldb
Cài đặt thư viện MySQL Client
Cài đặt thông qua lệnh apt của Ubuntu và Debian
sudo apt-get install python3-dev default-libmysqlclient-dev
Cài đặt thông qua lệnh yum của CentOS và Mũ đỏ
sudo yum install python3-devel mysql-devel
Cài đặt thông qua brew MacOS
brew install mysql-connector-c
Cài đặt thông qua công cụ quản lý pip3 của Python 3
pip3 install mysqlclient
Connect to MySQL/MariaDB by MySQL Client library with Python 3
Để kết nối sử dụng Python MySQL Client, chúng tôi tham khảo đoạn mã nguồn sau
#!/usr/bin/env python3 import MySQLdb # Create db connection db = MySQLdb.connect[host="127.0.0.1", port=3306, user="root", passwd="", db="vinasupport"] # To perform a query, you first need a cursor c = db.cursor[] # make select version query c.execute["select version[]"] # Print output of the query print[c.fetchone[]]
Kết quả
Nguồn. vinasupport. com
Trước đây chúng tôi đã viết blog về việc sử dụng Python để kết nối với máy chủ MariaDB bằng gói MySQL Python. Vào tháng 6 năm 2020, MariaDB đã phát hành bản phát hành Connector / Python nói chung lần đầu tiên. Chúng tôi đã làm blog này mới để phản ánh công nghệ mới nhất. Nếu bạn cần blog cũ, bạn có thể tìm thấy nó ở đây
Bạn có thể sử dụng ngôn ngữ lập trình biến Python phổ biến để quản lý dữ liệu được lưu trữ trong Nền tảng MariaDB, bao gồm Máy chủ MariaDB, MariaDB MaxScale và MariaDB SkySQL. Đây là điều bạn cần biết về việc kết nối với Nền tảng MariaDB từ Python để truy xuất, cập nhật và thêm thông tin
Chuẩn bị và Cài đặt
Bạn cần có quyền truy cập vào Máy chủ MariaDB. Chúng tôi đề xuất một trong hai phương pháp sau.
1. Tải xuống Máy chủ MariaDB trên phần cứng của riêng bạn. Xem Hướng dẫn khai thác để biết hướng dẫn từng bước trong tài liệu của chúng tôi.
HOẶC LÀO
2. Triển khai Nền tảng MariaDB, bao gồm Máy chủ Doanh nghiệp MariaDB, sử dụng MariaDB SkySQL. Xem tài liệu của chúng tôi để khởi động dịch vụ cơ sở dữ liệu trong vài phút
Nếu bạn muốn thử hợp nhất Python với MariaDB nhưng bạn không có cơ sở dữ liệu để sử dụng, bạn có thể sử dụng cơ sở dữ liệu ví dụ về nhân viên phổ biến
MariaDB cung cấp thông tin hỗ trợ Python thông qua Trình kết nối MariaDB / Python, có sẵn thông qua Chỉ mục gói Python. Để cài đặt, hãy sử dụng PIP
$ pip3 install mariadb
Connected with MariaDB server
1. Để kết nối với Máy chủ MariaDB bằng Trình kết nối MariaDB / Python, bạn phải nhập nó trước, giống như bạn làm với bất kỳ mô-đun nào khác.
sudo yum install python3-devel mysql-devel4
2. Tiếp theo, thiết lập kết nối cơ sở dữ liệu với hàm connect[]. Hàm nhận một loạt các đối số được đặt tên chỉ định thông tin xác thực ứng dụng khách của bạn, chẳng hạn như tên người dùng, máy chủ lưu trữ, mật khẩu. Nếu bạn đang sử dụng phiên bản cơ sở dữ liệu trên SkySQL, thông tin này được cung cấp trong trang Chi tiết dịch vụ cho phiên bản cơ sở dữ liệu của bạn
Kết nối cung cấp cho bạn một giao diện để định cấu hình kết nối ứng dụng của bạn với Máy chủ MariaDB
3. Cuối cùng, gọi phương thức
sudo yum install python3-devel mysql-devel5 trên kết nối để truy xuất con trỏ
Con trỏ cung cấp cho bạn một giao diện để tương tác với Máy chủ, chẳng hạn như chạy truy vấn SQL và quản lý các giao dịch
________số 8Truy xuất dữ liệu
Khi bạn có mã ban đầu tại vị trí, bạn có thể bắt đầu làm việc với dữ liệu. Điều đầu tiên bạn nên làm là cố gắng lấy thông tin từ cơ sở dữ liệu. Đây là mã cho một truy vấn đối với nhân viên cơ sở dữ liệu
cur.execute[
"SELECT first_name,last_name FROM employees WHERE first_name=?",
[some_name,]]
Trình kết nối MariaDB / Python sử dụng các câu lệnh đã chuẩn bị sẵn, làm sạch và chèn các giá trị từ bộ giá trị vào vị trí của các dấu chấm hỏi [?]. Điều này an toàn hơn với việc chèn thông số qua chuỗi f hoặc bộ chỉ định dạng định dạng khi làm việc với thông tin do người dùng cung cấp
Kết quả truy vấn được lưu trữ trong một danh sách trong đối tượng con trỏ. Để xem kết quả, bạn có thể lặp qua con trỏ
sudo yum install python3-devel mysql-devel0
Mỗi hàng được chuyển từ con trỏ dưới dạng một bộ chứa các cột trong câu lệnh
sudo yum install python3-devel mysql-devel6
Add data
Sử dụng cùng một phương pháp
sudo yum install python3-devel mysql-devel7 với một câu lệnh
sudo yum install python3-devel mysql-devel8, bạn có thể thêm hàng vào bảng
sudo yum install python3-devel mysql-devel4
Theo mặc định, MariaDB Connector / Python cho phép tự động kết nối. Nếu bạn muốn quản lý thủ công các giao dịch của mình, chỉ cam kết khi bạn có sẵn, bạn có thể vô hiệu hóa nó bằng cách đặt
sudo yum install python3-devel mysql-devel9 thuộc tính trên kết nối thành Sai
sudo yum install python3-devel mysql-devel0
Khi điều này được thực hiện, bạn có thể cam kết và khôi phục các giao dịch bằng cách sử dụng các phương thức
brew install mysql-connector-c0và
brew install mysql-connector-c1. Máy chủ MariaDB cho phép bạn chạy nhiều giao dịch đồng thời trên cùng một bảng mà không cần khóa nó khi bạn sử dụng công cụ lưu trữ InnoDB
Trong khi chèn hàng, bạn có thể muốn tìm Key chính của hàng được chèn vào cuối cùng khi nó được tạo, giống như các giá trị tự động tăng lên. Bạn có thể truy xuất điều này bằng cách sử dụng phương pháp
brew install mysql-connector-c2 trên con trỏ
Việc cập nhật và xóa hàng hóa được thực hiện tương tự như việc chèn chúng. Sự khác biệt duy nhất là trong truy vấn được sử dụng
Start off
Đối với bất kỳ hành động SQL nào của bạn [truy vấn, cập nhật, xóa hoặc chèn bản ghi], bạn nên cố gắng kiểm tra lỗi để có thể xác minh rằng hành động của mình đang được thực hiện như mong đợi và bạn mong đợi . Để vượt qua lỗi, hãy sử dụng Lớp lỗi
sudo yum install python3-devel mysql-devel1
Nếu truy vấn trong
brew install mysql-connector-c3mệnh đề của mã trên không thành công, Máy chủ MariaDB trả về một SQL ngoại lệ, ngoại lệ này bị truy vấn ngoại lệ và được đặt trong thiết bị xuất chuẩn. Phương pháp lập trình tốt nhất để bắt các ngoại lệ này đặc biệt quan trọng khi bạn đang làm việc với cơ sở dữ liệu, vì bạn cần đảm bảo tính toàn vẹn của thông tin
Khi bạn hoàn thành công việc với cơ sở dữ liệu, hãy chắc chắn rằng bạn đóng kết nối này để tránh mở các kết nối không sử dụng và do đó lãng phí tài nguyên. You can close connection by
brew install mysql-connector-c4 method
sudo yum install python3-devel mysql-devel2
Nếu bạn đã sử dụng SkySQL để thử nghiệm, bạn có thể muốn xóa dịch vụ cơ sở dữ liệu của mình để tiếp tục phát sinh phí
Complete command
Đây là cách dễ dàng và đơn giản để kết nối mã Python của bạn với cơ sở dữ liệu MariaDB. Đây là cách một tập lệnh hoàn chỉnh sẽ trông như thế nào