1.背景
项目需要,用python实现了将字典内容存入本地的mysql数据库。比如说有个字典dic={"a":"b","c":"d"},存入数据库效果图如下:
2.代码
''' Insert items into database @author: hakuri ''' import MySQLdb def InsertData(TableName,dic): try: conn=MySQLdb.connect(host='localhost',user='root',passwd='****',db='test',port=3306) #链接数据库 cur=conn.cursor() COLstr='' #列的字段 ROWstr='' #行字段 ColumnStyle=' VARCHAR(20)' for key in dic.keys(): COLstr=COLstr+' '+key+ColumnStyle+',' ROWstr=(ROWstr+'"%s"'+',')%(dic[key]) #判断表是否存在,存在执行try,不存在执行except新建表,再insert try: cur.execute("SELECT * FROM %s"%(TableName)) cur.execute("INSERT INTO %s VALUES (%s)"%(TableName,ROWstr[:-1])) except MySQLdb.Error,e: cur.execute("CREATE TABLE %s (%s)"%(TableName,COLstr[:-1])) cur.execute("INSERT INTO %s VALUES (%s)"%(TableName,ROWstr[:-1])) conn.commit() cur.close() conn.close() except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) if __name__=='__main__': dic={"a":"b","c":"d"} InsertData('testtable',dic)