MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở hàng đầu, là một hệ thống quản trị cơ sở dữ liệu đa người dùng, đa luồng. MySQL đặc biệt phổ biến trên web
Cài đặt PyMySQL
Trong thư mục cài đặt Python, tích hợp module pip. Trên Windows, bạn chạy lệnh pip để cài đặt PyMySQL như sau
C:\Programs\Python\Python38-32\Scripts>pip install pymysql Collecting pymysql Downloading PyMySQL-0.10.0-py2.py3-none-any.whl [47 kB] |████████████████████████████████| 47 kB 227 kB/s Installing collected packages: pymysql Successfully installed pymysql-0.10.0
Ví dụ. Phiên bản PyMySQL
Trong ví dụ này, chúng ta truy vấn hàng đầu tiên trong bảng ‘city’ bằng cách sử dụng từ điển con trỏ trong Python
Trong bài viết này mình sẽ hướng dẫn cách sử dụng module mysql-connector-python để xử lý kết nối và truy vấn MySQL. Các thao tác trong cơ sở MySQL như kết nối / chèn / cập nhật / xóa và chọn
Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức.
Đây là mô-đun phổ biến nhất khi làm việc với MySQL trong Python. And before started, mình xin giới thiệu một chút về module này đã nhé
1. MySQL Python Connector là gì?
Để xử lý dữ liệu trong MySQL từ Python, bạn cần có trình điều khiển cơ sở dữ liệu để kết nối, và MySQL Connector/Python là đối tượng kết nối chuẩn được MySQL cung cấp dành riêng cho Python
Một số đặc điểm của mô-đun này
Bài viết này đã được đăng tại [free tuts. mạng lưới]
- Hỗ trợ hầu hết tất cả các tính năng được cung cấp bởi MySQL phiên bản 5. 7. Nó cho phép bạn chuyển đổi giá trị tham số của bộ phân loại giữa các loại dữ liệu Python và MySQL
- Được thiết kế dành riêng cho MySQL, nó hỗ trợ tất cả các phần mở rộng của MySQL như mệnh đề GIỚI HẠN
- Cho phép bạn nén luồng dữ liệu giữa Python và máy chủ cơ sở dữ liệu MySQL bằng cách sử dụng giao thức nén. Nó hỗ trợ các kết nối bằng cách sử dụng TCP/IP Socket và kết nối TCP/IP an toàn bằng SSL
- Là một API được khai thác bằng Python thuần túy. Điều đó có nghĩa là bạn không cần cài đặt bất kỳ thư viện máy khách MySQL hoặc bất kỳ mô-đun Python nào ngoại trừ thư viện tiêu chuẩn
Các phiên bản [version]
Bạn sẽ phải cài đặt các phiên bản chính xác của Python, MySQL và Connect / Python. Bảng sau đây minh họa các phiên bản tương thích của Connect / Python, MySQL và Python
Phiên bản trình kết nối/Python Phiên bản máy chủ MySQL Phiên bản Python được hỗ trợ8. 08. 0, 5. 7, 5. 6, 5. 53. 6, 3. 5, 3. 4, 2. 72. 25. 7, 5. 6, 5. 53. 5, 3. 4, 2. 72. 15. 7, 5. 6, 5. 53. 5, 3. 4, 2. 7, 2. 62. 05. 7, 5. 6, 5. 53. 5, 3. 4, 2. 7, 2. 61. 25. 7, 5. 6, 5. 5 [5. 1, 5. 0, 4. 1]3. 4, 3. 3, 3. 2, 3. 1, 2. 7, 2. 6Cài đặt MySQL Connector/Python
Cài đặt điều kiện
Trước khi cài đặt MySQL Connector/Python, bạn phải làm những điều sau
- Bạn phải có quyền Root hoặc Administrator thì mới có thể cài đặt
- You must install Python on your host before
Lưu ý rằng quá trình cài đặt MySQL Connector / Python yêu cầu Python phải có trong PATH của hệ thống
Các bước cài đặt
MySQL Python Connector có sẵn trên pypi. org, làm điều đó, bạn có thể cài đặt nó bằng lệnh
pip uninstall mysql-connector-python8
Lệnh
pip uninstall mysql-connector-python8 cho phép bạn cài đặt kết nối Python Python trên bất kỳ Hệ điều hành nào, bao gồm Windows, macOS, Linux và Unix
pip install mysql-connector-python
Kết quả
Nếu bạn tìm thấy bất kỳ vấn đề nào trong khi cài đặt, bạn có thể chỉ định phiên bản chính xác cần cài đặt bằng lệnh sau
pip install mysql-connector-python==8.0.17
Lưu ý rằng để gỡ cài đặt MySQL Connector / Python hiện tại thì bạn sử dụng lệnh sau
pip uninstall mysql-connector-python
Lệnh nhắc lại sẽ xuất hiện, nhập Y để đồng ý và N để hủy bỏ
Proceed [y/n]? y
Kiểm tra cài đặt không thành công
Sau khi cài đặt MySQL Connector/Python, bạn cần phải kiểm tra để đảm bảo rằng nó hoạt động chính xác và bạn có thể kết nối với máy chủ cơ sở dữ liệu MySQL mà không gặp sự cố nào.
Để kiểm tra, bạn thực hiện các bước sau
Bước 1. Mở dòng lệnh Python
Bước 2. Nhập đoạn mã dưới đây vào
>>> import mysql.connector >>> mysql.connector.connect[host='localhost',database='mysql',user='root',password='your pass']
Nếu bạn thấy kết quả xuất hiện như dưới đây thì bạn đã cài đặt thành công và MySQL đã được kết nối bởi Python Connector
________số 8
2. Tải mẫu cơ sở dữ liệu để học xử lý MySQL trong Python
Để các bạn dễ thực hiện hơn thì mình sẽ gửi một cơ sở dữ liệu mẫu, đây là db mà ta sẽ thực hiện trong suốt quá trình làm việc với MySQL trong Python
Trước tiên hãy tải xuống tệp python_mysql. zip this about, after that giải nén và đặt vào thư mục MySQL có định dạng như sau.
Proceed [y/n]? y0
Tiếp theo, hãy đăng nhập vào MySQL bằng cách sử dụng công cụ mysql để chạy lệnh sau
pip uninstall mysql-connector-python0
Nhập mật khẩu cho người dùng root
pip uninstall mysql-connector-python1
Please create a database name is python_mysql
pip uninstall mysql-connector-python2
Sau đó chọn db python_mysql vừa tạo
pip uninstall mysql-connector-python3
Cuối cùng, hãy sử dụng lệnh sau để tải cơ sở dữ liệu mà bạn đã tải xuống
pip install mysql-connector-python==8.0.170
Vui lòng sử dụng lệnh sau để kiểm tra xem các bảng đã xuất hiện chưa nhé
pip install mysql-connector-python==8.0.171
Kết quả
pip install mysql-connector-python==8.0.172
* Lưu ý. Thực hiện vẫn còn một cách khác là bạn hãy sử dụng công cụ PHPMyAdmin nhé, đây là công cụ quản lý tiêu chuẩn của MySQL và bạn có thể thực hiện bằng thao tác giao diện rất trực quan
3. MySQL connection with Python
Để kết nối vào một hệ thống quản trị cơ sở dữ liệu bất kỳ, chúng ta cần một chuỗi kết nối bao gồm các thông tin để đăng nhập như. máy chủ, cơ sở dữ liệu, tên người dùng, mật khẩu
Lớp MySQLConnection yêu cầu chuỗi kết nối phải là một lệnh có cấu trúc như sau
pip install mysql-connector-python==8.0.173
in which
Proceed [y/n]? y
1 là tên của cơ sở dữ liệu mà chúng ta đã tạoProceed [y/n]? y
2 là tên tài khoản đăng nhập vào cơ sở dữ liệuProceed [y/n]? y
3 là mật khẩu đăng nhập của người dùng
Bây giờ chúng ta sẽ viết một hàm kết nối và trả về đối tượng kết nối nhé
pip install mysql-connector-python==8.0.174
Run test test if results has format as after is ta connect to public
pip install mysql-connector-python==8.0.175
Những thao tác tiếp theo ta sẽ sử dụng kết quả trả về của hàm connect[] để xử lý
4. Lấy dữ liệu MySQL trong Python
Để lấy dữ liệu của một bảng hoặc nhiều bảng, ta chạy lệnh select, và sau đây là hàm xử lý
Cách 1. Use method fetchone[]
Phương thức
Proceed [y/n]? y4 sẽ trả về hàng dữ liệu tiếp theo trong kết quả trả về, hoặc trả về
Proceed [y/n]? y5 nếu kết quả trống
pip install mysql-connector-python==8.0.176
Cách sử dụng
pip install mysql-connector-python==8.0.177
Kết quả
cách 2. Use method fetchall[]
Trong trường hợp dữ liệu trả về thị nhỏ ta có thể sử dụng phương thức
Proceed [y/n]? y6, nó sẽ trả về tất cả dữ liệu mà câu truy vấn thực hiện được
pip install mysql-connector-python==8.0.178
Giải thích tương tự như ví dụ với phương thức
Proceed [y/n]? y4, ngoại trừ phần gọi là phương thức
Proceed [y/n]? y8. Vì chúng tôi đã tải tất cả các hàng từ bảng
Proceed [y/n]? y9 vào bộ nhớ nên có thể lấy tổng số hàng đã được trả về bằng cách sử dụng thuộc tính
>>> import mysql.connector >>> mysql.connector.connect[host='localhost',database='mysql',user='root',password='your pass']0 của các đối tượng
>>> import mysql.connector >>> mysql.connector.connect[host='localhost',database='mysql',user='root',password='your pass']1
* Lưu ý. Với dữ liệu lớn thì ta không nên sử dụng phương thức này bởi vì nó sẽ tốn nhiều tài nguyên để lưu trữ dữ liệu trả về, trường hợp xấu nhất đang làm ứng dụng bị chết
Cách 3. Use method fetchmany[]
Đối với một bảng tương đối lớn thì cần có thời gian để tìm tải tất cả các hàng và trả về toàn bộ kết quả tập tin. Ngoài ra,
Proceed [y/n]? y6 cần bổ sung bộ nhớ để lưu trữ toàn bộ kết quả tập tin trong bộ nhớ, điều này không hiệu quả
Trình kết nối MySQL / Python có phương thức
>>> import mysql.connector >>> mysql.connector.connect[host='localhost',database='mysql',user='root',password='your pass']3 trả về số hàng [n] tiếp theo của tệp kết quả, cho phép bạn cân bằng giữa thời gian truy xuất và không gian bộ nhớ
Đầu tiên hãy xây dựng một hàm có công cụ tra cứu về dòng dữ liệu số như tham số truyền vào
pip install mysql-connector-python==8.0.179
Trong hàm này, mình sử dụng năng suất để trả về kết quả ở định dạng iterator
Tiếp theo ta có thể sử dụng ham
>>> import mysql.connector >>> mysql.connector.connect[host='localhost',database='mysql',user='root',password='your pass']4 để lấy mỗi lần 10 hàng cho mỗi lần tìm nạp dữ liệu
pip uninstall mysql-connector-python0
Quá đơn giản phải không các bạn?
5. Chèn dữ liệu vào MySQL trong Python
Ta only to change command select to command insert is being
Tuy nhiên, chúng ta không sử dụng vòng lặp, tại vì kết quả trả về của lệnh chèn không phải là danh sách. Thay vào đó ta sẽ kiểm tra xem lastrowid là bao nhiêu, nếu có tức là insert thành công, ngược lại là insert fail
pip uninstall mysql-connector-python1
Cách sử dụng
pip uninstall mysql-connector-python2
Mình chạy lệnh này với mẫu cơ sở dữ liệu thì thu được kết quả là
pip uninstall mysql-connector-python3
6. Cập nhật dữ liệu MySQL bằng Python
Cập nhật dữ liệu thì ta chạy lệnh update trong MySQL, kết hợp với kết nối đối tượng để xử lý
pip uninstall mysql-connector-python4
Cách sử dụng
pip uninstall mysql-connector-python5
7. Delete MySQL data by Python
To delete data, ta will run command delete in MySQL
pip uninstall mysql-connector-python6
Cách sử dụng
pip uninstall mysql-connector-python7
Lời kết. Trên là bài hướng dẫn cách xử lý cơ sở dữ liệu MySQL bằng Python. Qua bài này bạn đã học được những kiến thức như sau