Python MySQL Where

6290 ワード


Python MySQL入門Python MySQLデータベース作成Python MySQL作成テーブルPython MySQL挿入表Python MySQL Select
Python MySQL Where
Python MySQL Order By
Python MySQL Delete
Python MySQL削除表Python MySQL Update
Python MySQL Limit
Python MySQL Join
データのフィルタ
表からレコードを選択する場合は、「WHERE」文を使用してフィルタできます.

アドレスが「Park Lane 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では、WHERE句にワイルドカードを使用しています.詳細は、SQLチュートリアルSQL WHEREを参照してください.

アドレスに「way」という単語が含まれているレコードを選択します.
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注入は、データベースを破壊または誤用するための一般的なウェブハッカー技術です.
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)