PythonでSQLクエリを実行する際、変数を使用する方法はいくつかあります。以下にその一例を示します。
まず、Pythonのsqlite3
ライブラリを使用する場合、以下のようにプレースホルダー(?
)を使用して変数をクエリに挿入できます。
import sqlite3
# データベースに接続
conn = sqlite3.connect('my_database.db')
cursor = conn.cursor()
# 変数を定義
var1 = 'some_value'
# 変数を使用したクエリを実行
cursor.execute("SELECT * FROM my_table WHERE my_column = ?", (var1,))
この方法では、クエリの文字列内に直接変数を挿入するのではなく、プレースホルダーを使用しています。これにより、SQLインジェクション攻撃を防ぐことができます。
また、MySQLを使用する場合、プレースホルダーとして%s
を使用します。
import mysql.connector
# データベースに接続
conn = mysql.connector.connect(user='my_user', password='my_password', host='localhost', database='my_database')
cursor = conn.cursor()
# 変数を定義
var1 = 'some_value'
# 変数を使用したクエリを実行
cursor.execute("SELECT * FROM my_table WHERE my_column = %s", (var1,))
これらの方法を使用することで、PythonでSQLクエリを安全に、かつ効率的に実行することができます。