python操作mysql文件(行读取),插入数据后,获取ID并修改值。

1、前两天有个需求是就写一个脚本,导出sql文件后,需要插入数据,但是2个sql的文件,都是自增ID,其中user表中的id被关联到了一个认证表中。

步骤:

1、插入认证表(身份证号唯一)的数据 一行一行插入 提交数据库

2、插入user表中的数据,获取最新的ID,(user 表中页有身份证字段唯一)提交数据库

3、查询身份证字段字段的值,条件为最新的ID。

4、更新认证表,条件为身份证号相等的数据即可

4、提交更改

import pymysql
db = pymysql.connect(host='329.1.41.31',
                     user='root',
                     password='222222',
                     database='tes1')
#获取数据库游标
cursor = db.cursor()

#打开文件
user_db = open("t_user.sql",encoding='utf-8') #文件名
certify_db = open("t_certify.sql",encoding='utf-8')#文件名
for line1 in certify_db.readlines():
    certify_db_sql = line1.strip('\n')
    cursor.execute(certify_db_sql)
    db.commit()
certify_db.close()    
for line in user_db.readlines():
    user_db_sql = line.strip('\n')
    cursor.execute(user_db_sql)
    new_id = cursor.lastrowid
    db.commit()
    sql = "SELECT identity_card FROM t_user \
       WHERE USER_ID=%s" % (new_id)   #查询字段identity_card,
    
    cursor.execute(sql)
    results=cursor.fetchall()
    if results[0][0] is None:
        print("更新失败")
    else:
        cursor.execute("update t_certify set user_id= %s where id_card= %s" ,(new_id,results[0][0]))
        
        db.commit()
        print("更新成功")
user_db.close()  
db.close()

 

posted on 2021-12-11 22:33  超nmmmmm  阅读(627)  评论(0编辑  收藏  举报

导航