Python MySQL ở đâu
Chọn bằng bộ lọc
Khi chọn bản ghi từ một bảng, bạn có thể lọc lựa chọn bằng cách sử dụng câu lệnh "WHERE":
Thí dụ
Chọn (các) bản ghi có địa chỉ là "Park Lane 38": kết quả:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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)
Ký tự đại diện
Bạn cũng có thể chọn các bản ghi bắt đầu, bao gồm hoặc kết thúc bằng một chữ cái hoặc cụm từ nhất định.
Sử dụng %
để đại diện cho các ký tự đại diện:
Thí dụ
Chọn các bản ghi có địa chỉ chứa từ "cách":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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)
Ngăn chặn SQL Injection
Khi giá trị truy vấn được cung cấp bởi người dùng, bạn nên thoát khỏi các giá trị.
Điều này là để ngăn chặn việc tiêm SQL, đây là một kỹ thuật tấn công web phổ biến để phá hủy hoặc sử dụng sai cơ sở dữ liệu của bạn.
Mô-đun mysql.connector có các phương thức để thoát các giá trị truy vấn:
Thí dụ
Thoát các giá trị truy vấn bằng cách sử dụng %s
phương pháp phần mềm:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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)