源碼:
1 import pymysql 2 3 class MysqlConnect(object): 4 # 魔術方法, 初始化, 構造函數 5 def __init__(self, host, user, password, database): 6 ''' 7 8 :param host: IP 9 :param user: 用戶名 10 :param password: 密碼 11 :param port: 端口號 12 :param database: 數據庫名 13 :param charset: 編碼格式 14 ''' 15 self.db = pymysql.connect(host=host, user=user, password=password,port=3306, database=database, charset='utf8') 16 self.cursor = self.db.cursor() 17 18 # 將要插入的數據寫成元組傳入 19 def exec_data(self, sql, data=None): 20 # 執行SQL語句 21 self.cursor.execute(sql, data) 22 # 提交到數據庫執行 23 self.db.commit() 24 25 # sql拼接時使用repr(),將字符串原樣輸出 26 def exec(self, sql): 27 self.cursor.execute(sql) 28 # 提交到數據庫執行 29 self.db.commit() 30 31 def select(self,sql): 32 self.cursor.execute(sql) 33 # 獲取所有記錄列表 34 results = self.cursor.fetchall() 35 for row in results: 36 print(row) 37 38 # 魔術方法, 析構化 ,析構函數 39 def __del__(self): 40 self.cursor.close() 41 self.db.close() 42 43 if __name__ == '__main__': 44 mc = MysqlConnect('127.0.0.1', 'root', '123456', 'homework') 45 # mc.exec('insert into test(id, text) values(%s, %s)' % (1, repr('哈送到附近'))) 46 mc.exec_data('insert into test(id, text) values(%s, %s)' % (1, repr('哈送到附近'))) 47 # mc.exec_data('insert into test(id, text) values(%s, %s)',(13, '哈送到附近')) 48 mc.select('select * from test')