sql >> データベース >  >> RDS >> Mysql

Pythonを使用して、Sqlite\Mysqlに多くの列をすばやく挿入します

    「Newdataはx列のリストです」とは、xを意味すると思います。 タプル 、それ以来、あなたは「最初のタプル」について話し続けます。 Newdataの場合 タプルのリストです。y = len(Newdata[0]) それらのタプルの最初の1つにあるアイテムの数です。

    それが必要な数であると仮定します(そして、すべてのタプルは同じ数のアイテムを持っている方がよいです。そうでない場合は、executemany 予定 失敗!)、@ Nathanの答えの一般的な考え方は正しいです:適切な数のコンマ区切りの質問マークを使用して文字列を作成します:

    holders = ','.join('?' * y)
    

    次に、それをSQLステートメントの残りの部分に挿入します。 @Nathanの挿入方法は、ほとんどのPython 2.anyバージョンに適していますが、2.6以降を使用している場合は

    sql = 'INSERT INTO testdata VALUES({0})'.format(holders)
    

    現在推奨されています(Python 3.anyでも機能します)。

    最後に、

    csr.executemany(sql, Newdata)
    

    あなたが望むことをします。完了したら、トランザクションをコミットすることを忘れないでください!-)



    1. MySqlクエリを使用して日付の日、月、年を加算および減算する方法

    2. sockets.io/node.js/javascriptを使用してmysqlの特殊文字をエスケープする方法

    3. 列名を使用してMySQLからJSONを返す

    4. ユーザーの質問を数える方法は?