问题标签 [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.

0 投票
2 回答
5792 浏览

python - 大量行的 MySQLdb 错误的 executemany

我目前正在运行一个脚本,使用 execute many 函数将值(元组列表)插入 MySQL 数据库。当我使用少量行(`1000)时,脚本运行良好。

当我使用大约 40,000 行时,我收到以下错误:

有什么建议么?

0 投票
2 回答
2944 浏览

python - Sqlite executemany 和 DELETE

执行许多删除似乎很慢(插入很好),我想知道是否有人知道为什么花了这么长时间

考虑下面的代码

以及来自 ipython 的以下时间结果(timeit 给出了有趣的数据:/)

为了完整起见,这里是 timeit 结果(但我认为 timeit 在第二次测试中被打破(或者 ms 是一个不同的单位,然后是第一次测试))

那么,为什么 deletes 的 executemany 这么慢呢?

0 投票
2 回答
20597 浏览

python - SQLite3 Python:执行许多选择

我正在尝试使用 executemany 函数将所有行从具有一些 WHERE 约束的一行中取出

错误

0 投票
0 回答
686 浏览

sqlite - python的sqlite3.executemany:在单个事务中更改表?锁定错误

我有一个应用程序,我在任何地方都使用 sqlite3 的自动提交功能,这通常可以正常工作。该应用程序包括一个数据库方案更新程序。

基本上它只是每个版本升级的一组 SQL 命令,应该在单个事务中调用。我通过使用 .executemany() 调用实现了这一点,该调用一直有效。现在是第一次,我想使用这种方法更改表描述(我做了一个简短的示例,因为原始表相当大):

考虑到

我不是在这里谈论索引,没有问题是一样的:)

我尝试在单个 executemany() 中运行的是:

即使我将 DROP 移动到第二个 executemany() 调用,它也不起作用。我必须重新启动我的应用程序才能 DROP。

据我了解, executemany() 为我处理 BEGIN TRANSACTION ... COMMIT 东西。我想念什么?

提前感谢,国王问候,弗洛里安。

0 投票
0 回答
324 浏览

python - 我如何懒惰地将 csv 行传递给 executemany()?

我正在使用 MySQL Connector/Python 1.0.11 和 Python 3.3 和 MySQL 5.6.12 通过cursor.executemany ('INSERT INTO ... VALUES')将 csv 文件加载到表中。使用 sqlite3 或 psycopg2 我可以为 seq_of_parameters 传递一个 _csv.reader 对象,但 MySQL 失败并显示:

很公平,正如文档所说,它必须是一个序列,并且_csv.reader对象是一个枚举器(它定义了iternext),而不是一个序列。我显然可以通过'list(my_csv_reader)',但我很确定这并不懒惰,这些文件可以有 10^6+ 行。有没有办法懒惰地通过?还是我在浪费时间,因为 executemany() 会在执行 INSERT 之前扩展列表?(来自 cursor.py 的提示:“INSERT 语句通过批处理数据进行优化,即使用 MySQL 多行语法。”)也许类似于将迭代器包装在生成器中,ala http://www.logarithmic.net/ pfh/blog/01193268742。我非常期待你的想法!

0 投票
1 回答
1412 浏览

python - python 2.4.3 sqlite executemany 语法

我被困在使用 python 2.4.3 和随该发行版发布的 sqlite 模块。

如何在这种环境下运行 executemany 命令?更现代的语法似乎有问题。

我猜 Python 2.4.3 已经很老了,我找不到任何文档,而且我没有与 executemany 函数关联的相关文档字符串。

我很感激帮助。

0 投票
2 回答
15929 浏览

python - 带有简单列表的 psycopg2 executemany?

我正在尝试使用 psycopg2 executemany 进行简单的多插入,但我只能使用 dict 而不是“普通”值序列使其工作:

不使用“命名”参数 (%(value)s) 就不能给出一个“简单”的值列表/元组吗?

0 投票
1 回答
5381 浏览

python - 在 Python 中使用 cx_Oracle 和 xlrd 列出列表的 executemany() 返回 TypeError

我正在尝试编写一个 Python 脚本,该脚本将从 Excel 文档中读取数据,然后将其写入 Oracle 数据库中的单个表中。我目前正在使用xlrd从 Excel 文档中读取cx_Oracle数据并将数据插入数据库。

我之前使用嵌套的 for 循环结构来遍历 Excel 文档中的每一列,将每列值存储在变量中,将值插入表中,然后对每一行执行此操作。但是,这对于几千行数据来说效率相当低,我希望使用executemany()带有 cx_Oracle 的语句来做到这一点

我目前正在使用此代码将数据加载到列表列表中,然后调用 executemany() 命令:

行列表如下所示:

但是,执行 executemany() 语句时出现类型错误:

执行(在读取的最后一行数据上执行单个插入)时,查询执行得非常好cursor.execute(query, row),所以我认为参数列表的格式化方式有问题,而不是查询字符串。但是,根据本教程,我的参数显示正确格式有人可以帮助我理解为什么我的代码不起作用吗?

更新:所以我尝试手动将一些数据插入到rows变量中,看看我的格式是否关闭,并去掉了 unicode 字符:

插入这三个条目工作得很好,所以我目前正在调查 unicode 字符作为问题的原因。任何帮助仍将不胜感激。

0 投票
1 回答
353 浏览

python - MySQLdb 游标不支持空迭代器吗?

我有rows一个空迭代器,它会触发一个错误。

如果我这样做,cur.executemany(sql, list(rows))那么它工作正常。

以下是代码MySQLdb Cursors.py

0 投票
1 回答
4803 浏览

python - Python cx_Oracle。用 executemany() 敲头

我昨天大部分时间都在这里和网络上查看问题,但仍然无法真正弄清楚我错过了什么。我很确定这一定是非常愚蠢的事情,但我现在已经筋疲力尽了。

所以,代码:

(这可以创建好)

(现在转到会话池守卫,它在下面结束)

运行此程序时,我收到以下错误

如果我从列表中删除值“55”,则所有其他值都可以正常插入,所以看起来它只接受 1 个字符长度的值。

当我单独通过 execute() 运行每个语句时,它们会被插入。我很确定它必须与代码或 Oracle 如何处理位置参数有关,但我现在迷路了。

感谢帮助!