データのクエリ
接続 で説明するように接続後、オープン接続を使用してSQL ステートメントを実行できます。
クエリの実行
データを返すSQL ステートメントを実行するには、execute() メソッドを使用します。クエリが実行されると、結果セットがカーソルからフェッチされます。この結果セットは、レコードを個別に処理するために反復処理を行うことができます。次に例を示します。
cur = conn.execute("SELECT ShipName, ShipCity FROM \"defaultdb\".\"public\".Orders") rs = cur.fetchall() for row in rs: print(row)
パラメータ化されたクエリ
配列やタプルなどのさまざまなPython コレクションが、execute() メソッドの追加引数として動作します。これにより、実行されたクエリをパラメータ化し、SQL インジェクションを防ぐことができます。
次に例を示します。
cmd = "SELECT ShipName, ShipCity FROM \"defaultdb\".\"public\".Orders WHERE ShipCountry = ?" params = ["USA"] cur = conn.execute(cmd, params) rs = cur.fetchall() for row in rs: print(row)