我需要将大量数据上传到MySQL数据库。对于大多数模型,我使用django的ORM,但是我的一个模型将具有数十亿(!)个实例,并且我想优化其插入操作。
我似乎找不到找到使executemany()工作的方法,并且在进行谷歌搜索之后,似乎几乎没有示例了。
我正在寻找正确的sql语法+正确的命令语法+正确的值数据结构以支持以下sql语句的executemany命令:
INSERT INTO `some_table` (`int_column1`, `float_column2`, `string_column3`, `datetime_column4`) VALUES (%d, %f, %s, %s)
是的,我明确指出了ID(int_column1)以提高效率。
简短的示例代码会很棒
这是一个实际上使用executemany()的解决方案!
基本上,这里示例中的想法将起作用。
但请注意,在Django中,您需要使用%s占位符而不是问号。
另外,您将要管理您的交易。我不会在这里讨论,因为有很多可用的文档。
from django.db import connection,transaction
cursor = connection.cursor()
query = ''' INSERT INTO table_name
(var1,var2,var3)
VALUES (%s,%s,%s) '''
query_list = build_query_list()
# here build_query_list() represents some function to populate
# the list with multiple records
# in the tuple format (value1, value2, value3).
cursor.executemany(query, query_list)
transaction.commit()
本文向大家介绍Django自定义分页与bootstrap分页结合,包括了Django自定义分页与bootstrap分页结合的使用技巧和注意事项,需要的朋友参考一下 django中有自带的分页模块Paginator,想Paginator提供对象的列表,就可以提供每一页上对象的方法。 这里的话不讲解Paginator,而是自定义一个分页类来完成需求: 利用bootstrap的css,生成好看的html
我使用Laravel创建一个简单的REST服务,将一个点几何图形和另外两个字符串值一起插入到PostgreSQL(用PostGIS扩展)表中。由于雄辩(据我所知)不支持PostGIS函数,我使用的是原始的SQL查询。 我的控制器如下所示: 通过请求发送的值是: 名称:Lidl 商店:便利 geom: {“type”:“Point”,“坐标”:[18.126712,42.643304],“crs”:
问题内容: 我有类似以下的表格(Django模型定义,并带有一个postgres数据库): 我使用Python脚本从CSV文件设置数据库。原始文件列出了具有整数id和整数“ person”字段的“所有者”,该字段映射到Person.id中的整数。 但是,鉴于Owner中的“ person”列希望使用Person对象,我该如何编写原始SQL字符串以将值插入Owner? 问题答案: 您没有说为什么需要
问题内容: 我目前正在使用MySQL和Python从网络上抓取数据。具体来说,我正在抓取表数据并将其插入到数据库中。我当前的解决方案可以工作,但是我觉得它效率极低,如果不重写代码,很可能会锁定数据库。这是我当前使用的(部分代码): 执行表的每一行都很麻烦。我尝试使用,但似乎无法弄清楚如何正确访问字典的值。因此,在给定数据结构的情况下,如何在这里使用它插入数据库? 问题答案: 希望对您有帮助
问题内容: 目前,我有一个RESTful Web服务,其端点通过Jersey / JAX-RS公开: 我使用Jackson将POJO序列化/反序列化为JSON,并且我的服务既响应也将POJO发送回。 我现在正在寻找可能使用Google协议缓冲区(或等效技术)来帮助压缩/优化客户端与服务之间的通信的方法,因为JSON /文本非常笨重/浪费。 实际上,我有一个由“微服务”体系结构组成的大型后端。数十种
问题内容: 因此,我通过以下资源学习Django(1、3、1,“最终”,0):http : //www.djangobook.com/en/2.0/chapter05/ 我通过Synaptic安装了“ mysql-server”和“ python-mysqldb”。我在settings.py中更改了相关设置。 上面提到的书告诉我们从manage.py shell运行: 运行以下命令后出现此错误: