Python MySQL ウェア
- 前のページ MySQL セレクト
- 次のページ MySQL オーダー バイ
フィルタを使用して選択
テーブルからレコードを選択する際には、「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 セレクト
- 次のページ MySQL オーダー バイ