1. 程式人生 > >python將字典內容存入mysql

python將字典內容存入mysql

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)