平时我们用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()