Python MySQL ĐWHERE

Sử dụng bộ lọc để chọn

Khi chọn các bản ghi từ bảng, bạn có thể sử dụng câu lệnh "WHERE" để lọc lựa chọn:

Mô Hình

Chọn các bản ghi là "Park Lane 38" và kết quả:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address ='Park Lane 38'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

Chạy Mô Hình

Ký tự thay thế

Bạn cũng có thể chọn các bản ghi bắt đầu, chứa hoặc kết thúc bằng một ký tự hoặc cụm từ đã cho.

Vui lòng sử dụng % Biểu thị ký tự thay thế:

Mô Hình

Chọn các bản ghi chứa từ khóa "way" trong địa chỉ:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address LIKE '%way%"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

Chạy Mô Hình

Ngăn chặn SQL Injection

Khi người dùng cung cấp giá trị tra cứu, bạn nên chuyển đổi các giá trị này.

Hành động này nhằm ngăn chặn SQL Injection, một kỹ thuật tấn công mạng phổ biến có thể phá hủy hoặc lạm dụng cơ sở dữ liệu của bạn.

Mô-đun mysql.connector có phương thức chuyển đổi giá trị tra cứu:

Mô Hình

Sử dụng phương pháp thay thế %s để chuyển đổi giá trị tra cứu:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address =" %s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

Chạy Mô Hình