始める無料で始める

Python での SQL 文

いよいよ SQL クエリを書いてみましょう。この演習では、ホテルデータベースに対してクエリを実行し、南部にある高級ホテルをすべて抽出します。 データベースへの接続とカーソル c はあらかじめ用意されています。

動画で Alan が説明したように、SQL インジェクションには注意が必要です。ここでは、.execute() メソッドへの追加のタプル引数としてパラメータを安全に渡す方法を使います。 この方法により、悪意のあるコードがクエリに混入されるのを防ぐことができます。

この演習はコースの一部です

Python でチャットボットを作る

コースを見る

演習の手順

  • areaprice に対応する文字列 "south""hi" を持つタプル t を定義します。
  • カーソルの .execute() メソッドを使ってクエリを実行します。area"south" かつ price が "hi" である hotelsすべてのフィールドを取得することが目的です。
  • カーソルの .fetchall() メソッドを使って結果を表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import sqlite3
import sqlite3

# Open connection to DB
conn = sqlite3.connect('hotels.db')

# Create a cursor
c = conn.cursor()

# Define area and price
area, price = "____", "____"
t = (____, ____)

# Execute the query
c.____('SELECT ____ FROM ____ WHERE ____=____ AND ____=____', ____)

# Print the results
print(____)
コードを編集して実行