Mysql pymysql

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

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

 

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. 6

Cà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-python
8

Lệnh

pip uninstall mysql-connector-python
8 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

________số 8

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ỏ

sudo yum install python3-devel mysql-devel
0

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

sudo yum install python3-devel mysql-devel
1

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

sudo yum install python3-devel mysql-devel
2

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.

sudo yum install python3-devel mysql-devel
00

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

sudo yum install python3-devel mysql-devel
4

Nhập mật khẩu cho người dùng root

sudo yum install python3-devel mysql-devel
5

Please create a database name is python_mysql

sudo yum install python3-devel mysql-devel
6

Sau đó chọn db python_mysql vừa tạo

sudo yum install python3-devel mysql-devel
7

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.17
0

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.17
1

Kết quả

pip install mysql-connector-python==8.0.17
2

* 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.17
3

in which

  • sudo yum install python3-devel mysql-devel
    01 là tên của cơ sở dữ liệu mà chúng ta đã tạo
  • sudo yum install python3-devel mysql-devel
    02 là tên tài khoản đăng nhập vào cơ sở dữ liệu
  • sudo yum install python3-devel mysql-devel
    03 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.17
4

Run test test if results has format as after is ta connect to public

pip install mysql-connector-python==8.0.17
5

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

sudo yum install python3-devel mysql-devel
04 sẽ trả về hàng dữ liệu tiếp theo trong kết quả trả về, hoặc trả về
sudo yum install python3-devel mysql-devel
05 nếu kết quả trống

pip install mysql-connector-python==8.0.17
6

Cách sử dụng

pip install mysql-connector-python==8.0.17
7

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

sudo yum install python3-devel mysql-devel
06, 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.17
8

Giải thích tương tự như ví dụ với phương thức

sudo yum install python3-devel mysql-devel
04, ngoại trừ phần gọi là phương thức
sudo yum install python3-devel mysql-devel
08. Vì chúng tôi đã tải tất cả các hàng từ bảng
sudo yum install python3-devel mysql-devel
09 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
sudo yum install python3-devel mysql-devel
10 của đối tượng
sudo yum install python3-devel mysql-devel
11

* 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,

sudo yum install python3-devel mysql-devel
06 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

sudo yum install python3-devel mysql-devel
13 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.17
9

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

sudo yum install python3-devel mysql-devel
14 để 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-python
0

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-python
1

Cách sử dụng

pip uninstall mysql-connector-python
2

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-python
3

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-python
4

Cách sử dụng

pip uninstall mysql-connector-python
5

7. Delete MySQL data by Python

To delete data, ta will run command delete in MySQL

pip uninstall mysql-connector-python
6

Cách sử dụng

pip uninstall mysql-connector-python
7

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

Chủ Đề