Python MySQL Where
- 上一頁 MySQL Select
- 下一頁 MySQL Order By
使用篩選器來選取
從表中選擇記錄時,可以使用 "WHERE" 語句對選擇進行篩選:
實例
選擇記錄為 "Park Lane 38" 的記錄,結果:
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)
通配符
您也可以選擇以給定字母或短語開頭、包含或結束的記錄。
請使用 %
表示通配符:
實例
選擇地址中包含單詞 "way" 的記錄:
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)
防止 SQL 注入
當用戶提供查詢值時,您應該轉義這些值。
此舉是為了防止 SQL 注入,這是一種常見的網絡黑客技術,可以破壞或濫用您的數據庫。
mysql.connector 模塊擁有轉義查詢值的方法:
實例
使用占位符 %s 方法來轉義查詢值:
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)
- 上一頁 MySQL Select
- 下一頁 MySQL Order By