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

1、python环境安装mysql-connector:
python -m pip install mysql-connector
2、连接数据库
python脚本实现数据空表批量插入大量数据_第1张图片
3、写函数,因为我这里插入数据的一个值是另一张表里查询出来的,所以先写一个查询函数,返回值;再写一个插入函数;最后调用函数
python脚本实现数据空表批量插入大量数据_第2张图片
python脚本实现数据空表批量插入大量数据_第3张图片
python脚本实现数据空表批量插入大量数据_第4张图片

表里数据已更新
在这里插入图片描述

整体代码如下:

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

python脚本实现数据空表批量插入大量数据_第5张图片
表里数据同时更新2条
在这里插入图片描述

你可能感兴趣的:(python,sql,python,开发语言,后端)