python mysql多条插入
程序的目的是把文本里面的数据存储到数据库中,原来的思路是读一条,插入一条,结果就是时间长的不得了。。。18万条的数据,真是慢。
后来的想法是把所有的记录都读到一个list里,结果是mysql奔溃go away,毕竟18万条,太多了。
再后来的想法就是满1000条进行一次插入,O(∩_∩)O哈哈~,效果不错,mysql没崩溃,效率提高了好几个量级。
import MySQLdb
import codecs def FileToDatabase(file):
conn = MySQLdb.connect(host='yourhost',user='username',passwd='yourpwd',db='yourdb')
curs = conn.cursor()
fp = codecs.open(file,'r','gb2312')#文本编码是gb2312,所以以此方式打开
i = 0
L = []
for eachline in fp:
i = i + 1
list = newline.split(',')
L.append(list)
if i % 1000 == 0:#满1000插入数据库
#try:executemany好像不能使用字符串变量如executemany(sql),如此导致插入失败,还有就是插入整型的时候也不能使用%d,而是%s...
#当插入的字段并非table的全部字段时,要指定插入的字段及顺序与value内的值一致
curs.executemany("insert into season1(word1,word2,word3,word4) values(%s,%s,%s,%s)",L)
conn.commit()#没有提交的话,无法完成插入
L = []
#except:
conn.rollback()
print 'No.:'+str(i)
#print newline
fp.close()
#try:#将剩余插入数据库
curs.executemany("insert into season1(word1,word2,word3,word4) values(%s,%s,%s,%s)",L)
conn.commit()
#except:
conn.rollback()
conn.close()
对于数据库的rollback还是不太理解,以后有机会再深入了解吧
python mysql多条插入的更多相关文章
- python mysql 更新和插入数据无效
注意,在删除和增加后必须执行conn.commit()才有效,否则操作无效.
- python+mysql:实现一千万条数据插入数据库
作业要求 构建一个关系模式和课本中的关系movies(title,year,length,movietype,studioname,producerC)一样的关系,名称自定,在这个关系中插入1000万 ...
- python MySQL 插入Elasticsearch
一.需求分析 注意: 本环境使用 elasticsearch 7.0版本开发,切勿低于此版本 mysql 表结构 有一张表,记录的数据特别的多,需要将7天前的记录,插入到Elasticsearch中, ...
- Python MySQL 插入表
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...
- mysql sql获取上条插入id,update影响行数
1.获取上条插入数据 LAST_INSERT_ID(); 2.获取update影响行数. ROW_COUNT(); mysql> UPDATE t -> SET address = 'be ...
- mysql一次插入多条数据
mysql一次插入多条数据: INSERT INTO hk_test(username, passwd) VALUES ('qmf2', 'qmf2'),('qmf3', 'qmf3'),('qmf4 ...
- MySQL使用INSERT插入多条记录
MySQL使用INSERT插入多条记录,应该如何操作呢?下面就为您详细介绍MySQL使用INSERT插入多条记录的实现方法,供您参考. 看到这个标题也许大家会问,这有什么好说的,调用多次INSERT语 ...
- mysql中迅速插入百万条测试数据的方法
对比一下,首先是用 mysql 的存储过程弄的: 复制代码代码如下: mysql>delimiter $ mysql>SET AUTOCOMMIT = 0$$ mysql> crea ...
- python多条插入问题
多条插入用excutemany(listtuple) #coding=utf-8 import MySQLdb import traceback sqlstr= "insert into t ...
随机推荐
- c# 针对不同数据库进行参数化查询
使用参数化 DbCommand 的一个缺点是需要参数的代码将仅适用于支持相同语法的提供程序.OLEDB.SqlClient 和 Oracle 提供程序全部使用不同的语法.例如,用于命名和指定参数的 S ...
- 2014.8.20break,continue,字符串,数字和日期
(一)break与continue break——彻底终断循环 continue——中断本次循环,继续下次循环 break举例: //求100以内所有质数 ; i <= ; i++) { ;// ...
- SQLite 终端相关命令
SQLite ALL Last login: Fri Dec 5 09:52:08 on ttys002 BeSilent:~ qianfeng$ sqlite3 data.db SQLite ve ...
- 常用Json
一般Json是页面与页面之间传递使用. Json用途 1 后台与前台数据交互,并且数据较复杂,如果数据单一,直接传递字符串,然后在前台用js分割就行. 2 webservice和html ...
- java编辑器
package editor; import java.io.*; import java.awt.*; import java.awt.datatransfer.Clipboard; import ...
- win7本地搭建git ssh服务器
本来是想在gogs上用ssh的,结果弄了好几次还没整明白,希望等他们的更新内置吧. 但是,意外收获,还是成功搭建了本地ssh服务器,只是没有和gogs成功关联. 简要记录一下: 主要软件: msysg ...
- java核心技术学习笔记之一程序设计概述
Java 核心技术之一程序设计概述 一. Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向 ...
- 深信服模式(先做减法,必须拜访客户三次、研究需求方向,把产品的问题控制住,快速反应,在未来十年,绝大部分业务都会搬到Internet上来,实现All on Internet)good
深圳市盛凯信息科技有限公司与深信服合作多年,可以说是看着深信服“飞速”长大的.盛凯的总经理邓渊在采访中笑言:“他们(深信服)发展得太快,而我们发展得太慢.” 深信服的产品线已从最初只有VPN一条,到目 ...
- QtSoap开发web services客户端程序
首先需要下载QtSoap开源包,下载地址为: http://www.filestube.com/q/qtsoap+download, 我使用的是:qtsoap-2.6-opensource(不 ...
- (92) Is there a better crawler than Scrapy? - Quora
(92) Is there a better crawler than Scrapy? - Quora Is there a better crawler than Scrapy?Edit