Python开发(二)封装批量插入
来源:互联网 发布:婚礼发布网站源码java 编辑:程序博客网 时间:2024/06/02 04:32
#coding=utf-8import MySQLdbconn= MySQLdb.connect( host='localhost', port = 3306, user='root', passwd='xuteng', db ='test', )cur = conn.cursor()#jsonArray:传入的json数组,每个字段名后面跟值,不一定要填全。例:# jsonArray = [{'sid':'1', 'sname':'xuteng','gender':'hello','birthday':'1995-08-31','address':'hubei'},# {'sid':'2', 'sname':'xuteng','birthday':'1995-08-31','address':'hubei'},# {'sid':'3', 'sname':'xuteng','gender':'hello','birthday':'1995-08-31'}]def insertMap(jsonArray,tableName): for json in jsonArray:#遍历每一个子json 下面是为每一个json拼接sql 并执行 preSql = "insert into "+tableName+" (" #前一段拼接字段 subSql ="values(" #后一段拼接字段 exc = () #作为execute的参数值,这是一个tuble类型 for x in json:# 取出每一个子json的key和value值 preSql += x + "," #拼接前面sql的key值 subSql += "%s," #拼接后面sql的value数量 exc = exc + (json[x],)#每次 给exc添加新的值tuble,注意后面的“,”号不能少,否则不能识别为一个tuble preSql = preSql[0:preSql.__len__()-1] + ")"#去掉后面的“,”再添加“)” subSql = subSql[0:subSql.__len__()-1] + ")"#去掉后面的“,”再添加“)” sql = preSql+subSql #前后相加成一个完整的sql print sql print exc cur.execute(sql,exc) #将拼接好的sql和exc作为传入参数 执行 cur.close() conn.commit() conn.close()
当传入的是:jsonArray = [{‘sid’:’1’, ‘sname’:’xuteng’,’gender’:’hello’,’birthday’:’1995-08-31’,’address’:’hubei’}]
那么拼接的sql:insert into students (gender,sname,address,birthday,sid)values(%s,%s,%s,%s,%s)
拼接的exc:(‘hello’, ‘xuteng’, ‘hubei’, ‘1995-08-31’, ‘1’)
如果成功那么数据库将会插入这一条数据
在新py文件中引用这个方法
插入情况
阅读全文
0 0
- Python开发(二)封装批量插入
- MySQL批量插入性能优化(二)
- python MySQL 批量插入
- python封装一个效率极高的 批量更新、插入合一的工具
- ElasticSearch封装(创建索引,删除索引,创建Mapping,批量插入,批量删除,搜索)
- android批量多渠道封装-python
- Python 数据批量插入 MySQL
- python批量插入数据库数据
- 封装的PHP爬虫类(二)批量抓取
- python面向对象(二)之封装
- Python向MySQL批量插入数据
- python 向 ElaticScrapy中批量插入数据
- ReactNative项目 Python批量打包 (对美团第三种批量打包区分渠道的方法封装)
- Python开发qq批量登陆
- 批量插入(Batch inserts)
- JDBC批量插入(batch)
- Python学习笔记(二) -- Python封装数据库
- python 批量数据插入数据库 遇到(TypeError: expecting numeric data)
- abp菜单权限配置
- 关于 USB 3.1 、USB Type-C 你需要知道的几点
- Appium+Genymotion+robotframework+python系列三:一个简单的Android自动化用例
- git 使用
- maven lib文件夹引用 但是项目报错的解决办法
- Python开发(二)封装批量插入
- 【剑指offer】面试题13:机器人的运动范围
- SpringBoot (一) :入门篇
- Python的GIL是什么、怎么来的、对性能的影响
- Android旋转动画不停顿
- js代码 协议倒计时
- cocos 3.10 web 接入小熊平台 ios不能屏幕适配
- jQuery面试题
- C++基础-异常