問題タブ [executemany]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python + MySQLdb executemany
PythonとそのMySQLdbモジュールを使用して、いくつかの測定データをMysqlデータベースにインポートしています。私たちが持っているデータの量は非常に多いです(現在、約250 MBのcsvファイルと今後さらにたくさんのファイルがあります)。
現在、cursor.execute(...)を使用してメタデータをインポートしています。これらのエントリはわずかしかないため、これは問題ではありません。
問題は、cursor.executemany()を使用して実際の測定データを大量にインポートしようとすると、MySQLdbが
私の現在のコードは
ここで、values
はそれぞれ3つの文字列を含むタプルのリストです。これで何が間違っている可能性がありますか?
編集:
値はによって生成されます
次に、行がであり、イテレータがから来る一度に1000個のリストを読み込みますcsv.DictReader
。
python - 辞書から多くの行を選択する方法(executemany select)
PythonとそのMySQLdbモジュールを使用していますが、条件内のタプル/辞書/リストからのように「selectmany」を実行することは可能ですか?
このようなもの:
削除/更新/挿入を行うことは、この方法でうまく機能します:
python - Python sqlite3 モジュールでデータ ファイル (.csv など) をインポートする他の方法はありますか? 【いちいち入れない】
sqlite3 のクライアント CLI には、それを行うための " .import file TABLE_name " があります。
しかし、現在、自分のサーバーに sqlite3 をインストールしたくありません。
Python sqlite3 モジュールでは、DB を作成および編集できます。
しかし、行を1つずつ挿入する以外に、データファイルをTABLEにインポートする方法が見つかりませんでした。
その他の方法で?
python - 多くの混乱を実行する
わかりましたので、プラグインからの入力に基づいて sqlite データベース内の特定の行を選択する関数があります。1つのステートメントだけで行を選択してフェッチするプラグインを取得しましたが、これに柔軟性を追加したいので、リストまたはタプルに遭遇したときに関数がexecutemanyを使用するようにしてみました。それでも、いじって変更したすべてのものにもかかわらず、SQLite ステートメントが文字列内の各文字をバインディングとして扱っているか、タプルにバインディングが多すぎるため、これを機能させることができません。これまでのコードは次のとおりです。
python - PythonにDB関数呼び出しを含めるMySQLdbexecutemany()
次のようなステートメントを実行しようとすると、次のようになります。
MySQLdbは、挿入する行のリストを展開すると、その括弧が値ブロックの終わりと見なされるため、NOW()の)を詰まらせているようです。つまり、クエリは次のようになります。
そしてMYSQLは構文エラーを報告します。代わりに、次のようになります。
NOW()を回避する方法があるはずですが、その方法がわかりません。タプルに「NOW()」を追加しても機能しません。これは、NOW()が引用符で囲まれ、DBによって関数呼び出しではなく文字列として解釈されるためです。
現在のタイムスタンプをデフォルト値として使用してこれを回避することはオプションではありません。これは例です。今だけでなく、さまざまなdb関数を使用してこの種のことを行う必要があります。
ありがとう!
python - 私の状況で Executemany を使用するにはどうすればよいですか?
これらの一連の SQL ステートメントを取得するにはどうすればよいですか? 働く?select
以前は単一のステートメントのみを扱っていcursor.execute
ましたが、そのためにはうまくいきました。この場合、今何をすべきかわかりません。私が得ているエラーはformat requires a mapping
python - mysqldb で executemany を挿入した後、すべての lastrowids をフェッチすることは可能ですか?
生成されたIDが連続しているかどうかはわかりません.そうでない場合、それらを取得する他の方法はありますか?
python - MySQL executemanyを使用してPythonでリストのリストを更新するにはどうすればよいですか?
私はリストのリストを持っています:myList = [[123, 345], [23, 45], [54, 34]]
私はこのようなことをしたい:
これを検索しましたが、解決策が見つかりませんでした。実装されない場合、リスト内のすべての要素をループする必要のない、より良い更新ステートメントは何ですか?
python - Pythonを使用してmysqlにpythondictのキーと値を挿入する方法
私はこのようなPythonの口述を持っています:
mysqlテーブルの2つの異なる列に辞書を挿入keys
したいと思います。列名はそれぞれとです。今のところ3つの列があります:、、および各キーと値のペアを異なる行に挿入します。values
my_dict
term
urls
id
term
urls
urls
リンクをコンマで区切って保存したい。my_dictの値のWebサイトのリンクはhttp://time.com, http://mine.com.
、次の方法で挿入しようとしたように、コンマで区切って保存する必要があります
ただし、次のエラーが表示されます。