セクション
スクリーニングデータ
テーブルからレコードを選択するとき、あなたは「」文のフィルターを使用することができます。
例
レコードアドレス「パークレーン38」を選択します。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
passwd="你的密码",
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)
通配符
WHERE
声明では、ワイルドカードを使用することができます%
。句は、ワイルドカードを使用するSQL、について、詳細は私たちのSQLチュートリアルを参照することができますWHERE SQL
例
アドレスレコードは、言葉の「道」が含まれて選択します。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
passwd="你的密码",
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インジェクションを、これらの値はエスケープする必要があります。
SQLインジェクションは、共通破壊するために使用されるWebハッキング技術や誤用データベースです。
mysql.connectorモジュールクエリ値をエスケープする方法があります。
例
プレースホルダ%s
メソッドエスケープクエリ値:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
passwd="你的密码",
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)