python多条插入问题
多条插入用excutemany(listtuple)
#coding=utf-8
import MySQLdb
import traceback sqlstr= "insert into table1 values(%s,%s,%s,%s);" #SQL模板字符串 如果懒的写每一个属性对应的字段,那么后面的s%的个数要和数据库表中属性个数一样(所有类型,都用%s表示)
lists=[[1,2,3,4],[2,3,4,5],[3,4,5,6]]
dataList= [tuple(x) for x in lists] # 参数是一个个元组,list里嵌套tuple class mymysql(object):
def __init__(self):
self.conn = MySQLdb.connect(
host='127.0.0.1',
port = 3306,
user = 'root',
passwd = '123456',
db = 'xtp3') def insert_sql(self,sqlstring,data):
cur = self.conn.cursor()
try:
cur.executemany(sqlstring,data)
self.conn.commit()
except:
self.conn.rollback()
traceback.print_exc()
finally:
cur.close() if __name__ == '__main__':
m = mymysql()
m.insert_sql(sqlstr,dataList)
excute和excutemany速度对比

参考:
https://www.cnblogs.com/zeke-python-road/p/9442152.html
https://blog.csdn.net/u010339879/article/details/81623833
python多条插入问题的更多相关文章
- 解决Python往MySQL插入中文时报错的问题
今天遇到一个问题,用Python往MySQL插入数据时,若数据中包含中文会报类似下面的错误: ERROR 1366: Incorrect string value: '\xE4\xB8\xAD\xE5 ...
- mysql sql获取上条插入id,update影响行数
1.获取上条插入数据 LAST_INSERT_ID(); 2.获取update影响行数. ROW_COUNT(); mysql> UPDATE t -> SET address = 'be ...
- [SQL]开启事物,当两条插入语句有出现错误的时候,没有错误的就插入到表中,错误的语句不影响到正确的插入语句
begin transaction mustt insert into student values(,'kkk','j大洒扫','j','djhdjh') insert into student v ...
- tqdm:Python 进度条
Tqdm 是 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息.用户只需要封装任意的迭代器,是一个快速.扩展性强的进度条工具库. 用法:tqdm(iterator) 代码地址 ...
- spring boot开启事务管理,使用事务的回滚机制,使两条插入语句一致
spring boot 事务管理,使用事务的回滚机制 1:配置事务管理 在springboot 启动类中添加 @EnableTransactionManagement //开启事务管理 @Enable ...
- python向数据库插入中文乱码问题
1.python向数据库插入中文乱码问题 直接手动insert into 中文 不乱码,但是用程序跑起来就乱码. conn =MySQLdb.connect(host="127.0.0.1& ...
- Python中elasticsearch插入和更新数据的实现方法
Python中elasticsearch插入和更新数据的实现方法 这篇文章主要介绍了Python中elasticsearch插入和更新数据的实现方法,需要的朋友可以参考下 首先,我的索引结构是酱紫的. ...
- 2019年的代码都写完了吗?不如做个Python进度条看看还剩多少
我们都知道,进度条是用来直观展示流程所需时间的优秀工具,以免我们担心流程会突然挂掉,而且我们可以用它来预测代码运行是否正常,借助进度条,每个人都能直观地看到脚本最新的进展情况. 如果你之前没用过进度条 ...
- Python进度条模块tqdm实现任务进度可视化
一.前言 tqdm 是一个易用性强.扩展性高的 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息,我们只需要封装任意的迭代器 tqdm(iterator) 即可. 二.安装 ...
随机推荐
- SQL Server like 字段
参考资料:Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_L及由于排 ...
- java基本程序设计结构总结
学习一门语言:(1)掌握它的表现形式(2)这些语言什么应用. 1.1关键字 1.关键字是被赋予了特殊含义的单词. 2.关键字特点:关键字所有字母都小写. 3.类名的每一个单词开头必须大写. 1.2标识 ...
- IntelliJ IDEA 中使用 Lambok (注解无效问题的解决)
一,概述 Lambok可以说一个能很大提高开发效率的插件,只要在使用注解的方式就能实现很多常用的功能.如常用的@Data能在编译阶段自动生成toString方法,getter方法setter方法等. ...
- 剑指offer 9-10:青蛙跳台阶与Fibonacii数列
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 问题分析 我们将跳法个数y与台阶数n视为一个函数关系,即y=f(n). ...
- 程序员必备技能之Markdown
Markdown介绍 Markdown是一种纯文本格式的标记语言,比HTML更简单,通过一些简单的语法标记,就可以让文本简洁好看. Markdown已经是程序员一项必备技能了,代码块.流程图.序列图. ...
- 通过优化Gunicorn配置获得更好的性能
对于受CPU限制的应用程序,增加了工作程序和/或内核.对于受I / O限制的应用程序,请使用"伪线程". Gunicorn是Python WSGI HTTP Server,通常驻留 ...
- [小程序]微信小程序获取input并发送网络请求
1. 获取输入框数据wxml中的input上增加bindinput属性,和方法值在js部分定义与之对应的方法,只要在输入的时候,数据就会绑定调用到该方法,存入data属性变量中 2. 调用get请求发 ...
- ArrayList对象声明& arrayList.size()
此程序用于测试 :每次for循环内重新定义一个Integer数组,赋值后加入arrayList.由于下一次的Integer对象重新定义,原来的对象是否会被释放? 解答:不会,因为原对象仍被引用(被ar ...
- 编译一个支持django及mysqlclient连接的alpine镜像
一切都不难,难的就是在alpine镜像里. 最后,使用了网上编译好mysqlclient的镜像,才搞定. 记录一下. 一,基础镜像Dockerfile https://github.com/tnir/ ...
- 三种MPM在工作时的属性
l prefork:域fork,一个进程一个请求 l worker:一个线程一个请求,一个进程生成多个线程 l event:事件模型,单线程响应多个请求,基于事件驱动 在主配置文件当中,在htt ...