Để học tốt bài này, các bạn cần phải biết cách insert dữ liệu vào table trong MySQL với Python. Các bạn có thể đọc lại bài Thêm (insert) và xóa (delete) dữ liệu trong MySQL với Python để biết cách insert dữ liệu vào table trong MySQL.
Lưu ý, chúng ta đang sử dụng MySQL được tích hợp sẵn trong XAMPP. Các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách cài đặt XAMPP và khởi chạy MySQL.
Các ví dụ update và drop dữ liệu sẽ thực hiện trên table gochocit_posts trong database gochocit. Database và table này đã được tạo trong bài Tạo database và tạo table trong MySQL với Python. Các bạn cần đọc lại để xem cấu trúc của database và dữ liệu của table trên.
1. Sửa (update) dữ liệu trong MySQL
Chúng ta có thể sửa (update) những dòng dữ liệu đã được insert vào table trong MySQL. Sử dụng câu lệnh "UPDATE"
để thực hiện update.
import mysql.connector
# create connection to MySQL
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="",
database = "gochocit"
)
mycursor = mydb.cursor()
sql = "UPDATE gochocit_posts SET post_author = 'Phúc Trần' WHERE ID = '1'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
# disconnect from MySQL
mydb.close()
Kết quả
1 record(s) affected
Lưu ý: Chúng ta phải gọi câu lệnh mydb.commit()
để lưu các thay đổi trong table khi update dữ liệu vào table.
Mệnh đề WHERE giúp chỉ định cụ thể dòng dữ liệu nào sẽ được update. Nếu không sử dụng câu lệnh WHERE thì tất cả dòng dữ liệu trong table sẽ được update.
Chúng ta có thể sử dụng %s
để đặt chổ cho giá trị cần update và giá trị lọc dữ liệu trong mệnh đề WHERE.
import mysql.connector
# create connection to MySQL
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="",
database = "gochocit"
)
mycursor = mydb.cursor()
sql = "UPDATE gochocit_posts SET post_author = %s WHERE ID = %s"
val = ('Dung Lê', '5')
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
# disconnect from MySQL
mydb.close()
Kết quả
1 record(s) affected
2. Câu lệnh drop trong MySQL
Chúng ta có thể xóa (delete) những table đã được tạo trong database. Sử dụng câu lệnh "DROP TABLE"
để xóa table. Sử dụng thêm "IF EXISTS"
để kiểm tra một table đã tồn tại chưa, nếu đã tồn tại thì xóa table.
import mysql.connector
# create connection to MySQL
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="",
database = "gochocit"
)
mycursor = mydb.cursor()
mycursor = mydb.cursor()
sql = "DROP TABLE IF EXISTS gochocit_posts"
mycursor.execute(sql)
# disconnect from MySQL
mydb.close()
Nếu đoạn code trên thực thi không xảy ra lỗi thì đã xóa được table. Các bạn sử dụng trình duyệt web và truy cập vào địa chỉ http://localhost/phpmyadmin/ để kiểm tra table đã được xóa hay chưa.