mysql005--mysql與python互動
阿新 • • 發佈:2018-12-10
一、安裝相關包
ubuntu下安裝命令: sudo apt-get install python-mysqldb
pycharm安裝依賴包:
二、程式碼示例
測試表的結構:
#encoding=utf-8 import pymysql #Python與mysql資料庫的互動 class MySQLUtil(object): """連線MYSQL資料庫並執行增、刪、改、查操作""" __conn = None DB_NOT_CONNECT_MESSAGE="資料庫連接出錯,未能指向SQL[%s]"; def __init__(self): self.conn = self.__conn @staticmethod def connToDB(): """連線資料可""" try: print("嘗試連線資料庫") if not MySQLUtil.__conn: MySQLUtil.__conn = pymysql.connect(host='192.168.199.138',port=3306, db='test',user='root',password='123456', charset='utf8') except Exception as e: print(e.message) @staticmethod def close(): """關閉資料庫連線""" if MySQLUtil.__conn: MySQLUtil.__conn.close() def selectOne(self,sql): """查詢一條記錄""" if self.conn: cur = self.conn.cursor() cur.execute(sql) result=cur.fetchone() print(result) cur.close() else: print(self.DB_NOT_CONNECT_MESSAGE%sql) def selectMul(self,sql): """查詢多條記錄""" if self.conn: cur = self.conn.cursor() cur.execute(sql) result = cur.fetchall() print(result) cur.close() else: print(self.DB_NOT_CONNECT_MESSAGE% sql) def update(self,update): """執行更新或者插入語句""" if self.conn: cur = self.conn.cursor() count = cur.execute(sql) print("或者插入%d條資料"%count) if count>0: self.conn.commit() cur.close() else: print(self.DB_NOT_CONNECT_MESSAGE%sql) def delete(self,sql): """執行刪除操作""" if self.conn: cur = self.conn.cursor() count = cur.execute(sql) print("刪除%d條資料" % count) if count > 0: self.conn.commit() cur.close() if __name__ == '__main__': """測試程式碼""" MySQLUtil.connToDB() #python的類方法必須顯示的呼叫,否則不會執行 dbUtil = MySQLUtil() print("-------select one-------") sql = "select * from students" dbUtil.selectOne(sql) print("------select mutiple------") dbUtil.selectMul(sql) sql = "insert into students values(null,'小花',0,19),(null,'小Q',1,22)" print('-------update ----------') dbUtil.update(sql) print("------select mutiple------") sql = "select * from students" dbUtil.selectMul(sql) print('-----------delete----------') sql = "delete from students where name in('小花','小Q')" dbUtil.delete(sql) print("------select mutiple------") sql = "select * from students" dbUtil.selectMul(sql) print('--------close database connection-------')