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