MySQLdb提供了两个执行语句的方法,一个是execute(),另一个是executemany()

execute(sql)

  可接受一条语句从而执行

executemany(templet,args)

  能同时执行多条语句,执行同样多的语句可比execute()快很多,强烈建议执行多条语句时使用executemany

  templet : sql模板字符串,

例如     'insert into table(id,name) values(%s,%s)'

  args: 模板字符串的参数,是一个列表,列表中的每一个元素必须是元组!!!

例如:  [(1,'小明'),(2,'zeke'),(3,'琦琦'),(4,'韩梅梅')]

executemany应用实例

#coding=utf-8
import MySQLdb
import traceback tmp = "insert into exch_no_rand_auto(stkcode) values(%s);" #SQL模板字符串
l_tupple = [(i,) for i in range(100)] #生成数据参数,list里嵌套tuple class mymysql(object):
def __init__(self):
self.conn = MySQLdb.connect(
host='127.0.0.1',
port = 3306,
user = 'root',
passwd = '',
db = 'xtp3') def insert_sql(self,temp,data):
cur = self.conn.cursor()
try:
cur.executemany(temp,data)
self.conn.commit()
except:
self.conn.rollback()
traceback.print_exc()
finally:
cur.close() if __name__ == '__main__':
m = mymysql()
m.insert_sql(tmp,l_tupple)

python mysqldb批量执行语句executemany的更多相关文章

  1. python+selenium 批量执行时出现随机报错问题【已解决】

    出现场景:用discover方法批量执行py文件,出现随机性的报错(有时a.py报错,有时b.py报错...),共同特点:均是打开新窗口后,切换最新窗口,但定位不到新窗口的元素,超时报错.由于个人项目 ...

  2. Python实现批量执行华为交换机脚本

    #!/usr/bin/python3 # -*- coding:utf-8 -*- import paramiko import time ssh = paramiko.SSHClient() key ...

  3. Appium+Python之批量执行测试用例

    思考:当存在多个脚本,每个脚本中有多条测试用例时,我们该如何批量执行呢?分析:首先创建2个测试用例脚本(.py文件),每个脚本有2条测试用例,然后批量执行全部测试用例 #Test_01.py # co ...

  4. python自动化--批量执行测试之生成报告

    一.生成报告 1.先执行一个用例,并生成该用例的报告 # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webd ...

  5. Python MySQLdb中执行SQL语句传入的参数应该要加上引号如果该字段是str类型的

    如下图: username在表中是字符串类型的,所以传入的参数要加上引号

  6. Python MySQLdb的execute和executemany的使用

    如果使用executemany对数据进行批量插入的话,要注意一下事项: conn = MySQLdb.connect(host = “localhost”, user = “root”, passwd ...

  7. Python MySQLdb 批量插入 封装

    def insert_data_many(dbName,list_data_dict): try: # 得到列表的第一个字典集合 data_dict = list_data_dict[0] # 得到( ...

  8. python远程批量执行命令

    #!/usr/bin/env python#-*- coding:utf-8 -*- from multiprocessing import Process,Poolimport time,param ...

  9. python - MySQLdb 事务处理及批量执行executemany

    MySQL数据库有一个自动提交事务的概念,autocommit.含义是,如果开启autocommit, 则每一个语句执行后会自动提交.即一个语句视为一个事务. 在python使用的MySQLdb中,默 ...

随机推荐

  1. Bootstrap导航栏示例

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 何为KVM克隆和快照

    KVM的克隆.快照都是老生常谈的问题,资料也非常多,这里只是针对个人实验的记录,方便以后查阅. 虚拟机克隆 虚拟机的克隆操作是再频繁不过了,安装好第一台虚拟机后就可以进行基础设置,已此虚拟机为模板,以 ...

  3. String类常用功能

    String类常用功能 判断: boolean equals(Object obj) boolean equalsIgnoreCase(String str) //忽略大小写 boolean star ...

  4. android studio学习----通过libs来导入jar包

    百度经验有一种方法: 1 点击启动AndroidStudio,启动后的界面如图所示. 2 复制你需要添加的jar,并将其黏贴到app— —src— —main— —libs文件夹下,可运行的Andro ...

  5. 【转载】Gradle学习 第七章:Java快速入门

    转载地址:http://ask.android-studio.org/?/article/22 7.1. The Java plugin(Java插件) As we have seen, Gradle ...

  6. Date工具类

    总结了下项目中常用的时间转化方法,目前就这么点啦,以后再慢慢添加,先储备起来,免得丢啦. package com.example.keranbin.testdemo; import android.u ...

  7. java mybatis Column 'AAA' in where clause is ambiguous

    今天在java mybatis项目中遇到一个问题,“java mybatis Column 'AAA' in where clause is ambiguous”, 这是由于在多表连接查询的时候,遇上 ...

  8. Mysql-5.5版本搭建实例的部分库的从库

    由于业务需要在Mysql实例中创建部分库的从库,已有的Mysql实例的版本是mysql-5.5.49,是一个非常老的版本. 本文档涉及到服务器中运行多实例和构建实例中部分库的从库. 服务器 mysql ...

  9. Conv2D

    Conv2D keras.layers.convolutional.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', data ...

  10. WTL 9.0的变化 - atlapp.h

    忽然发现WTL更新到9.0.4140了,便对比了一下 8.1.12085. 先看看atlapp.h中有什么大的变动. 第61行: #if defined(_SYSINFOAPI_H_) &&a ...