2015.6.12
2020.1.7

名前付きパラメータを使った値の指定

PythonでSQLを実行する際に、名前付きパラメータに値を指定する方法です。

バージョン)
 Python 2.6
 MySQL 5.6.17

コード


import MySQLdb
from MySQLdb.cursors import DictCursor

if __name__ == "__main__":

	con = MySQLdb.connect(host="localhost", db="test_db", user="test_user", passwd="test123", charset="utf8")
	cur = con.cursor(DictCursor)

	sql = " SELECT * "
	sql += " FROM tbl_test "
	sql += " WHERE id = %(test_id)s "
	sql += "   AND name = %(test_name)s "

	param = {}
	param["test_id"] = 999;
	param["test_name"] = u"テスト";
	cur.execute(sql, param)
	rs = cur.fetchall()

	for row in rs:
		# 処理

11,12行目が名前付きパラメータに対して値を指定している箇所です。

Python】関連記事