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()
人生苦短,我用Python