標籤:
python操作Mysql,很方便,使用的MySQLdb的庫,基本的操作如下:
查詢:
1 try: 2 conn = MySQLdb.connect(host=self.ip, user=self.username,passwd=self.password, db=self.dbname, port=self.port) 3 cur = conn.cursor() 4 cur.execute(sql) 5 rows = cur.fetchall() 6 data = rows 7 except MySQLdb.Error, e: 8 print str(e) 9 print "Connet mysql db error..."10 sys.exit()
插入資料:
try: conn = MySQLdb.connect(host=self.ip, user=self.username, passwd=self.password, db=self.dbname, port=self.port) cur = conn.cursor() cur.execute(sql, value) conn.commit() conn.close() cur.close()except MySQLdb.Error, e: print str(e) print "Execute mysql db error..." sys.exit()
使用過程中遇到了編碼的問題,使用utf-8解決編碼問題:
conn.set_character_set(‘utf8‘)cur.execute(‘SET NAMES utf8;‘)cur.execute(‘SET CHARACTER SET utf8;‘)cur.execute(‘SET character_set_connection=utf8;‘)
還有遇到反斜線的問題,mysql預設把反斜線轉義了,我的解決方案是將反斜線換成雙反斜線:
datapath = datapath.replace(‘\\‘, ‘\\\\‘)
mysql語句需要格式化字串,查詢的sql字串需要用%來代表變數佔位,不過python好像必須要用%s
executemany還支援多條資料同時插入,不過我沒有使用這個,因為在外面加迴圈處理也很方便。
python基礎總結篇——使用Mysql