python构造批量insert语句怎样实现?教你两种方法
Admin 2021-08-19 群英技术资讯 2589 次浏览
python构造批量insert语句怎样实现?insert语句是SQL语句中常用的语句,主要用来向表格中插入新的行。而一行行写入比较麻烦,下面我们就来看看使用python构造批量insert语句的方法,有需要的朋友可以参考。

INSERT INTO `bidprcu_dic_a`(
`DIC_ID`, `DIC_TYPE_CODE`, `DIC_TYPE_NAME`, `DATA_DIC_CODE`, `DATA_DIC_NAME`, `PRNT_CODE`, `SRT`, `MEMO`, `DATA_SOUC`, `RID`, `CRTER_ID`, `CRTER_NAME`, `CRTE_OPTINS_NO`, `CRTE_TIME`, `OPT_TIME`, `OPTER_ID`,
`OPTER_NAME`, `OPTINS_NO`, `UPDT_TIME`, `INVD_FLAG`)
VALUES ('1', 'cert_type', '证件类型', '11', '营业执照', '', NULL, '', NULL, '', NULL, NULL, NULL, '2020-07-07 11:30:39', NULL, NULL, NULL, NULL, '2020-07-07 11:30:39', '0');
#生成的目标insert语句
"""
INSERT INTO `bidprcu_dic_a`(
`DIC_ID`, `DIC_TYPE_CODE`, `DIC_TYPE_NAME`, `DATA_DIC_CODE`, `DATA_DIC_NAME`, `PRNT_CODE`, `SRT`, `MEMO`,`DATA_SOUC`, `RID`, `CRTER_ID`, `CRTER_NAME`, `CRTE_OPTINS_NO`, `CRTE_TIME`, `OPT_TIME`, `OPTER_ID`, `OPTER_NAME`,
`OPTINS_NO`, `UPDT_TIME`, `INVD_FLAG`)
VALUES ('1', 'cert_type', '证件类型', '11', '营业执照', '', NULL, '', NULL, '', NULL, NULL, NULL, '2020-07-07 11:30:39', NULL, NULL, NULL, NULL, '2020-07-07 11:30:39', '0');
"""
import uuid
def create_uid():
return str(uuid.uuid1())
f =open('0524insert.txt','w')
for i in range(1,3):
DIC_ID=create_uid()
DIC_TYPE_CODE = "cert_type"
DIC_TYPE_NAME="证件类型"
DATA_DIC_CODE="11"
DATA_DIC_NAME="营业执照"
PRNT_CODE=""
SRT="NULL"
CRTE_TIME="2020-07-07 11:30:39"
UPDT_TIME="2020-07-07 11:30:39"
INVD_FLAG="0"
sql = "INSERT INTO bidprcu_dic_a(DIC_ID,DIC_TYPE_CODE,DIC_TYPE_NAME,DATA_DIC_CODE,DATA_DIC_NAME,PRNT_CODE,SRT,CRTE_TIME,UPDT_TIME,INVD_FLAG) "\
+"VALUES" +"(" +"'"+DIC_ID+"'"+",'"+DIC_TYPE_CODE+"'"+",'"+DIC_TYPE_NAME+"'"+",'"+DATA_DIC_CODE+"'"+",'"+DATA_DIC_NAME+"'"+",'"+PRNT_CODE+"'"+",'"+SRT+"'"+",'"+CRTE_TIME+"'"+",'"+UPDT_TIME+"'"+","+INVD_FLAG+""+")"+";"
print(sql)
f.write(sql)
f.write("\n")
f.close()
最终生成数据
INSERT INTO bidprcu_dic_a(DIC_ID,DIC_TYPE_CODE,DIC_TYPE_NAME,DATA_DIC_CODE,DATA_DIC_NAME,
PRNT_CODE,SRT,CRTE_TIME,UPDT_TIME,INVD_FLAG) VALUES('6b854a06-bcf9-11eb-8936-e454e805d291','cert_type','证件类型','11','营业执照','','NULL','2020-07-07 11:30:39','2020-07-07 11:30:39',0);
# 生成的目标insert语句
"""
INSERT INTO `bidprcu_dic_a`(
`DIC_ID`, `DIC_TYPE_CODE`, `DIC_TYPE_NAME`, `DATA_DIC_CODE`, `DATA_DIC_NAME`, `PRNT_CODE`, `SRT`, `MEMO`, `DATA_SOUC`, `RID`, `CRTER_ID`, `CRTER_NAME`, `CRTE_OPTINS_NO`, `CRTE_TIME`, `OPT_TIME`, `OPTER_ID`, `OPTER_NAME`,
`OPTINS_NO`, `UPDT_TIME`, `INVD_FLAG`)
VALUES ('1', 'cert_type', '证件类型', '11', '营业执照', '', NULL, '', NULL, '', NULL, NULL, NULL, '2020-07-07 11:30:39', NULL, NULL, NULL, NULL, '2020-07-07 11:30:39', '0');
"""
import uuid
def create_uid():
return str(uuid.uuid1())
f = open('0524insert.txt', 'w')
value = []
for i in range(1, 3):
list = []
DIC_ID = list.append(create_uid())
DIC_TYPE_CODE = list.append("cert_type")
DIC_TYPE_NAME = list.append("证件类型")
DATA_DIC_CODE = list.append(11)
DATA_DIC_NAME = list.append("营业执照")
PRNT_CODE = list.append("")
SRT = list.append("NULL")
CRTE_TIME = list.append("2020-07-07 11:30:39")
UPDT_TIME = list.append("2020-07-07 11:30:39")
INVD_FLAG = list.append(0)
print(list)
a = value.append(list)
c = str(list)
print(c)
c = c.replace("[", "(").replace("]", ")")
print(c)
sql = "INSERT INTO bidprcu_dic_a(DIC_ID,DIC_TYPE_CODE,DIC_TYPE_NAME,DATA_DIC_CODE,DATA_DIC_NAME,PRNT_CODE,SRT,CRTE_TIME,UPDT_TIME,INVD_FLAG) " \
+ "VALUES" + c + ";"
print(sql)
f.write(sql)
f.write("\n")
f.close()
注意:
1.在使用时修改range的值即可
2.在生成大批量数据时,可以考虑多线程
以上就是关于python构造批量insert语句的方法,大家可以参考,希望本文对大家学习python中对数据库的操作有帮助,想要了解更多python构造SQL语句的内容,大家可以继续关注其他相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天给大家介绍Python中的pathlib库的操作方法,pathlib 是Python内置库,pathlib库对于目录路径的操作更简洁也更贴近 Pythonic(Python代码风格的),对Python pathlib库相关知识感兴趣的朋友一起看看吧
熬夜整了了11种Numpy的高级操作,每一种都有参数解释与小例子辅助说明。文中的示例代码讲解详细,感兴趣的小伙伴快跟随小编一起学习一下吧
Matplotlib是一个Python的2D绘图库,通过Matplotlib开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等,这篇文章主要给大家介绍了Python中如何使用Matplotlib库绘制图形的相关资料
这篇文章主要介绍了Python数据分析之Pandas Series对象,文章基于python的相关资料展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章主要介绍了python 使用OpenCV进行曝光融合,使用OpenCV的Exposure Fusion,曝光融合是一种将使用不同曝光设置拍摄的图像合成为一张看起来像色调映射的高动态范围(HDR)图像的图像的方,下文更多详细内容介绍,需要的小伙伴可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008