Python MySQLdb 批量插入 封装
def insert_data_many(dbName,list_data_dict):
try:
# 得到列表的第一个字典集合
data_dict = list_data_dict[0]
# 得到(s%,s%,s%,s%)
data_values = "(" + "%s," * (len(data_dict)) + ")"
data_values = data_values.replace(',)', ')') dbField = data_dict.keys()
dataTuple = tuple(data_dict.values())
dbField = str(tuple(dbField)).replace("'",'')
conn = MySQLdb.connect(host="xxxxxxx", user="xxxx", passwd="xxxxxx", db="xxxxxx", charset="utf8")
cursor = conn.cursor() sql = """ insert into %s %s values %s """ % (dbName,dbField,data_values) params = []
for item in list_data_dict:
params.append(tuple(item.values()))
params = tuple(params) cursor.executemany(sql, params)
conn.commit()
cursor.close() print "===== 插入成功 ====="
return 1 except Exception as e:
print "******** 插入失败 ********"
print e
return 0
使用说明:
data2 = {
"sold_price":str(sold_price),
"estimate_price":str(estimate_price),
"item_url":str(item_url),
"item_imgurl":str(item_imgurl),
"item_lotnum":str(item_lotnum),
"hashcode": hashcode,
"create_time": create_time,
}
data_list.append(data_dict)
dbName = "oversea_thierrydemaigret_2017_2_no_detail_info"
# 其中 data_list 的数据格式是: [{},{},{},{},{},{},{}]
result1 = insert_data_many(dbName, data_list)
Python MySQLdb 批量插入 封装的更多相关文章
- python mysqldb批量执行语句executemany
MySQLdb提供了两个执行语句的方法,一个是execute(),另一个是executemany() execute(sql) 可接受一条语句从而执行 executemany(templet,args ...
- python - MySQLdb 事务处理及批量执行executemany
MySQL数据库有一个自动提交事务的概念,autocommit.含义是,如果开启autocommit, 则每一个语句执行后会自动提交.即一个语句视为一个事务. 在python使用的MySQLdb中,默 ...
- python使用MySQLdb向mySQL批量插入数据的方法
该功能通过调用mySQLdb python库中的 cursor.executemany()函数完成批量处理. 今天用这个函数完成了批量插入 例程: def test_insertDB(options) ...
- [小干货]SqlBulkCopy简单封装,让批量插入更方便
关于 SqlServer 批量插入的方式,前段时间也有大神给出了好几种批量插入的方式及对比测试(http://www.cnblogs.com/jiekzou/p/6145550.html),估计大家也 ...
- Python批量插入SQL Server数据库
因为要做性能测试,需要大量造数据到数据库中,于是用python写了点代码去实现,批量插入,一共四张表 简单粗暴地插入10万条数据 import pymssql import random __auth ...
- C# 封装SqlBulkCopy,让批量插入更方便
关于 SqlServer 批量插入的方式,前段时间也有大神给出了好几种批量插入的方式及对比测试(http://www.cnblogs.com/jiekzou/p/6145550.html),估计大家也 ...
- python批量插入mysql数据库(性能相关)以及反引号的使用
参考link: https://blog.csdn.net/qq_35958094/article/details/78462800(插入相关) https://www.cnblogs.com/hya ...
- SqlBulkCopy简单封装,让批量插入更方便
关于 SqlServer 批量插入的方式,前段时间也有大神给出了好几种批量插入的方式及对比测试(http://www.cnblogs.com/jiekzou/p/6145550.html),估计大家也 ...
- python中pymysql executemany 批量插入数据
import pymysqlimport timedb = pymysql.connect("IP","username","password&quo ...
随机推荐
- 利用RTMFP开发P2P应用
利用RTMFP开发P2P应用 flash10使用RTMFP 开发点对点P2P应用 通过Stratus 服务器在Flash Player中使用RTMFP 开发 点对点应用 Adobe Flash Pla ...
- MySql【Insert Select Not Exist】判断记录再添加值的方案
INSERT INTO content ( detail, status, beginTime, endTime) SELECT @detail, , NULL, NULL FROM DUAL WHE ...
- Active Directoty域服务安装
运行dcpromo命令,打开“Active Directoty域服务安装向导”
- vue重要特性
重要特性 自定义input组件 动态组件 递归组件 slot 作用域slot 异步组件 内联模板 子组件索引 进阶 自定义指令 状态管理vuex 单文件组件 生产部署 路由 xxx
- ThreadLocal MDC
因为MDC底层是用ThreadLocal实现的,所以这里补充一些和ThreadLocal相关的知识点. 1.ThreadLocal的三个层次 关于ThreadLocal有三个层次,可以按照这三个层次去 ...
- JUC-线程池
一,问题 在没有使用线程池的时候,每次需要一个线程都得手动new Thread()方式创建线程,用完了再销毁. 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发 ...
- 7216:Minecraft
总时间限制: 1000ms内存限制: 65536kB 描述 Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界. 在Minecraft中,基本的建筑元 ...
- code vs 3492 细胞个数
题目链接:http://codevs.cn/problem/3492/ 题目描述 Description 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为 ...
- C#让控制台程序不显示闪退窗口的方法
新建一个控制台程序,然后编译为 窗体程序.即可........
- mysql字符生命周期
mysql的字符集,对数据的导入导出很关键,明白自己集在不同阶段不同场景下的意义即为重要! 01.查看mysql当前字符集 show variables like '%cahr%'; 02.用户请求m ...