• python连接mysq,用字典的形式插入数据,避免key:value对应错乱


    平时我们用python连接数据库时,使用插入语句,用inert into 表名 (字段1,字段2,字段3......)values (值1,值2,值3.........)

    如果字段非常多的情况下,很容易出错,前面的key与后面的值对应不上,只要错一个,后面的可能就都错了,非常令人头疼。

    所以我们可以借助字典的方式,很把key:value定义好,再通过一些手段把key、value放在values关键字的前后,就不会出错啦。

    1、连接数据库

    import pymysql
    from random import randint
    #连接数据库
    db_connect = pymysql.connect("localhost","root","123456","test")
    cursor = db_connect.cursor() 

    #用字典存放要插入的数据

    table_data = {"student_id":"xh0001","name":"李一","id_card":"130133198301275082","sex":"女","age":20,"achievement":300,"adress":"北京","remark":"测试"}

    for i in table_data:

      table_data[i] = " ' " + str(table_data[i]) + " ' " #轮循给各valu值变成字符型,并加上单引号

    key = '(' + ','.join(table_data.keys()) + ')'   #用join函数将字典中的key值以逗号分隔变成一个字符串,并在前后加上括号,存在key中
    value = "(" + ",".join(table_data.values()) + ")"   #用join函数将字典中的value值以逗号分隔变成一个字符串,并在前后加上括号,存在value中

    #定义sql语句

    inseter_sql = "insert into {0} {1} values {2}".format(table_name,key,value)

    self.cursor.execute(inseter_sql)
    self.connection_db.commit()

  • 相关阅读:
    笔记本越用越慢的解决方法。
    ubuntu 16.04 的IP地址变更
    如何把路由器当作交换机来使用
    通过 rufus 创建启动U盘,安装 VMWare Esxi
    Enable SMB2 on the Client
    Shiro入门学习与实战(一)
    Linux下Nginx1.9.9的安装
    Activiti工作流学习之SpringBoot整合Activiti5.22.0实现在线设计器(二)
    Activiti工作流学习之概述(一)
    Sqoop的安装及常用命令
  • 原文地址:https://www.cnblogs.com/banxiade/p/12559554.html
Copyright © 2020-2023  润新知