zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    C#综合揭秘——Entity Framework 并发处理详解
    Apache2.2+Tomcat7.0整合配置详解
    python操作excel
    NameError: name ‘time‘ is not defined
    ping命令最实用的
    github使用方法
    数字证书
    网络编程
    不辣的皮特
    msdn上的“索引器”(indexer)示例
  • 原文地址:https://www.cnblogs.com/banxiade/p/12559554.html
Copyright © 2011-2022 走看看