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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM