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