データベースにアップロードしたいタプルのリストがあります。私はこれをという1つのクエリで行いたいので、各タプルを解析しながら接続を開く必要はありません。Python経由でPostgresにタプルリストをインポートする
私のタプルリストの例は次のとおりです(このリストはかなり長くなります): tuple_list = [(u'17 '、u'1'、u'2 '、u'2')、(u私は、このtuple_listをとり、リストを使って 'Predictions'という名前のテーブルを作成する1つのクエリをpostgresに書きたいと思います。 dbへの1回の呼び出しで。
単一の呼び出しは次のようになります。
insert into 'Predictions' (userid, fixture_no, home_score, away_score) values (17, 1, 2, 2)
私は、XMLファイルに私のタプルを変換するに見えたが、タプルのリストを使用してちょうどPostgresの中でこれを行うのは良い方法があるのか疑問に思っていますか?
ない場合、私はこのようなルックスを作るために管理しているXMLファイル...
<root>
<User_Id/>
<Fix_No/>
<Home_Score/>
<Away_Score/>
<User_Id>17</User_Id>
<Fix_No>1</Fix_No>
<Home_Score>2</Home_Score>
<Away_Score>2</Away_Score>
<User_Id>17</User_Id>
<Fix_No>2</Fix_No>
<Home_Score>1</Home_Score>
<Away_Score>4</Away_Score>
</root>
私の主な目的は、その意志数多くの呼び出しを行うのではなく、1回のショットでデータベースにすべての私の予測を送信することです私のWebアプリケーションをより遅く動かす。
意見やアドバイスは素晴らしいと思います!
コメントは非常に有用であるように、私はpostgresのに新たなんです。タプルのリストには5タプル、さらには50タプルがあるので、どのタプルに合うクエリを書くことができますか? – LemusThelroy
これは素晴らしい答えです。ありがとうございました。このクエリがPythonコード内にある場合、SQLインジェクションから安全だと思いますか? tuple_listはWebアプリケーションからのユーザー入力に由来します。 – LemusThelroy
@LemusThelroy挿入されたすべてのデータが適切にエスケープされていることを確認する必要があります。ストアドプロシージャを作成することをお勧めします。この例は保存しません! – salomonderossi