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":
Ví 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)
Chạy ví dụ »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 %
để biểu thị các ký tự đại diện:
Ví dụ
Chọn các bản ghi có địa chỉ chứa từ "đường":
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)
Chạy ví dụ » Ngăn chặn việc tiêm SQL
Khi người dùng cung cấp giá trị truy vấn, bạn nên thoát khỏi các giá trị đó.
Điều này nhằm ngăn chặn việc tiêm SQL, một kỹ thuật tấn công web phổ biến nhằm phá hủy hoặc sử dụng sai mục đích 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:
Ví dụ
Thoát các giá trị truy vấn bằng cách sử dụng phương thức giữ chỗ %s
:
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)
Chạy ví dụ »