栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python脚本实现数据空表批量插入大量数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python脚本实现数据空表批量插入大量数据

1、python环境安装mysql-connector:
python -m pip install mysql-connector
2、连接数据库

3、写函数,因为我这里插入数据的一个值是另一张表里查询出来的,所以先写一个查询函数,返回值;再写一个插入函数;最后调用函数


表里数据已更新

整体代码如下:

import mysql.connector
import random

#connect mysql
mydb = mysql.connector.connect(
    host="10.*4.0.*",
    user="*",
    passwd="WF***",
    database="mcs***"
)
# 返回数据库游标,用于操作数据库
mycursor = mydb.cursor()

def search_tagid():
    sql="select cti.tag_id,cti.tag_name, cpti.parent_tag_code from content_tag_info cti left join content_parent_tag_info cpti on cti.parent_tag_id =cpti.parent_tag_id where cpti.parent_tag_code ='20211231';"
    #查询标签下标签值id
    mycursor.execute(sql)
    myresult = mycursor.fetchall()  #获取所有记录
    tagid = myresult[0][0]
    print(myresult)
    print(tagid)
    return tagid
#数据插表,循环n次
def insert_cust(sql_list):
    try:
        for sql in sql_list:
            mycursor.execute(sql,sql_list[sql])
            mydb.commit()  # 数据表内容有更新,必须使用到该语句
    except:
        print("值重复了")

if __name__ == '__main__':
    #tagid= search_tagid()
    # print(tagid)
    count = 0
    while count < 3:
        #标签值-商户表
        count = count+1
        sql1 = "insert into content_tag_cust(tag_id,user_cust_id,tag_source) values (%s,%s,%s)"
        c_cust_id = '6665' + str(random.randint(100000000000, 999999999999))
        val1 = (19573085391323138, c_cust_id ,"03") #19573085391323137 , 19573085391323138
        # 标签值-门店表
        sql2 = "insert into content_tag_shop(tag_id,shop_id,tag_source)  values(%s, %s, %s)"
        s_shop_id = '177147' + str(random.randint(100000000000, 999999999999))
        val2 = ("19574070149414914", s_shop_id, "03")  # 19574070149414913,19574070149414914
        sql_list = {sql1:val1,sql2:val2}
        insert_cust(sql_list)
        print(c_cust_id,s_shop_id)
    else:
        print("结束了")

最后,其他地方看到的方法:
#如果需要批量的插入数据,就这样做
sql=“insert into cdinfo values(0,%s,%s,%s,%s,%s)”
#每个值的集合为一个tuple,整个参数集组成一个tuple,或者list
param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))
#使用executemany方法来批量的插入数据.这真是一个很酷的方法!
n=cursor.executemany(sql,param)
转载:https://www.cnblogs.com/fanks99/p/9713873.html


表里数据同时更新2条

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/688954.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号