
さらに
DB-API
DB-API
クローズアップ(
3/3
)
insert
クエリを使って
log
テーブルにサンプルデータを追加してみます。
次に示すクエリを変数
_SQL
に代入し、
cursor.execute
を呼び出してクエリをサーバに送ってみましょう。
>>> _SQL = """insert into log
(phrase, letters, ip, browser_string, results)
values
('hitch-hiker', 'aeiou', '127.0.0.1', 'Firefox', "{'e', 'i'}")"""
>>> cursor.execute(_SQL)
誤解しないでください。上のコマンドは正しく動作します。しかし、テーブルに格納するデータ値は
insert
ご
とに変わるので、このようにデータ値をハードコーディングするこ
とはほとんどありません。
Web
リクエストごと
の詳細を
log
テーブルにロギングするということは、リクエストごとにデータ値が変わるということなので、この
ようにデータをハードコーディングしてしまうと面倒なことになります。
(上のような)ハードコーディングを避けるために、
DB-API
ではクエリ文字列に「データプレースホルダ」を配置
できます。データプレースホルダには、
cursor.execute
の呼び出し時に実際の値が入ります。これにより、ク
エリを実行する直前にクエリに引数として値を渡すことで、異なるデータ値でクエリを再利用できます。クエリ内