• 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
  • 相关阅读:
    Daemon——守护进程
    RTMP
    CR LF CR/LF
    SO_REUSEADDR
    [aac @ ...] more samples than frame size (avcodec_encode_audio2)
    前端向后端传数据的方法
    控制层接受参数
    Swagger2
    net.sf.json------json解析
    springboot
  • 原文地址:https://www.cnblogs.com/sunjinchao/p/15677463.html
Copyright © 2020-2023  润新知