Trong quá trình làm việc với dữ liệu, sẽ không tránh khỏi tình trạng thiếu hoặc trùng lặp dữ liệu. Để xử lý những trường hợp đó trong MySQL, chúng ta có hai cách là CẬP NHẬT và XÓA. Cùng eLib tìm hiểu qua bài viết dưới đây
lục mục lục
1. Lệnh cập nhật
Sử dụng lệnh UPDATE-SET để cập nhật giá trị của một hoặc nhiều cột trong bảng. Câu lệnh sau đây được sử dụng để cập nhật một cột
update Employee set name = 'Đạt' where id = 10001
Ví dụ
import mysql.connector #tạo đối tượng connection myconn = mysql.connector.connect(host = "localhost", user = "root", passwd = "1234567890", database = "PythonDB") #tạo đối tượng cursor cur = myconn.cursor() try: # cập nhật name cho bảng Employee cur.execute("update Employee set name = 'Đạt' where id = 10001") myconn.commit() except: myconn.rollback() myconn.close()
2. Lệnh Xóa
Ra lệnh DELETE FROM are used to delete an write only from table. Ở đây, chúng ta phải sử dụng câu điều kiện WHERE để chỉ định bản ghi mà bạn muốn xóa, nếu không thì tất cả sẽ bị xóa. 2.
Sau khi lệnh sql được sử dụng để xóa nhân viên có id là 110
delete from Employee where id = 10001
Ví dụ
import mysql.connector #tạo đối tượng connection myconn = mysql.connector.connect(host = "localhost", user = "root", passwd = "1234567890", database = "PythonDB") #tạo đối tượng cursor cur = myconn.cursor() try: # cập nhật name cho bảng Employee cur.execute("delete from Employee where id = 10001") myconn.commit() except: myconn.rollback() myconn.close()
Trên đây là bài viết của eLib. VN về Lệnh UPDATE và DELETE MySQL trong Python. Hy vọng qua bài này bạn sẽ hiểu và vận dụng trong quá trình học tập và làm việc với Python. Chúc các bạn thành công
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-python 8
Lệnh pip uninstall mysql-connector-python 8 cho phép bạn cài đặt trình 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 kiểm tra để chắc chắn 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ư bên dưới thì bạn đã cài đặt thành công và MySQL đã được kết nối bởi Python Connector
<mysql.connector.connection.MySQLConnection object at 0x0187AE50>
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 tệp này về, sau đó 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
mysql -u root -p
Nhập mật khẩu cho người dùng root
Enter password: ********
Please create a database name is python_mysql
mysql>create database python_mysql;
Sau đó chọn db python_mysql vừa tạo
mysql>use python_mysql;
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
- Proceed (y/n)? y1 là tên của cơ sở dữ liệu mà chúng ta đã tạo
- Proceed (y/n)? y2 là tên tài khoản đăng nhập vào cơ sở dữ liệu
- Proceed (y/n)? y3 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 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.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 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.17 8
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 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ả lại 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 đố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 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ả
MySQL Connector/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.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 >>> 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-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