python編寫mysql類實現mysql的操作
阿新 • • 發佈:2018-05-21
python mysql class 前言
我們都知道利用python實現mysql的操作是件很簡單的事情,只需要熟練使用MySQLdb模塊就能實現mysql的增刪改查操作。
為了更好地整合mysql的操作,使用python的類講mysql的操作整合到一起,是個不錯的思路。這裏我編寫了一個簡單的class,來實現對mysql的操作與查詢。
操作
本例中,我們準備在mysql的iceny中創建了一張測試表t1,字段為id和timestamp,主要存儲系統的時間戳,並在該表中進行增、刪、改、查的操作:
當前mysql的狀態:
MySQLdb為python的第三方模塊,使用之前需提前安裝該模塊,這裏推薦pip安裝:
pip install MySQL-python
編寫mysql的class類:
#!/usr/local/env python3.6 # -*- coding: UTF-8 -*- import MySQLdb class Mysql(object): def __init__(self,host,port,user,passwd,db,charset='utf8'): """初始化mysql連接""" try: self.conn = MySQLdb.connect(host,user,passwd,db) except MySQLdb.Error as e: errormsg = 'Cannot connect to server\nERROR(%s):%s' % (e.args[0],e.args[1]) print(errormsg) exit(2) self.cursor = self.conn.cursor() def exec(self,sql): """執行dml,ddl語句""" try: self.cursor.execute(sql) self.conn.commit() except: self.conn.rollback() def query(self,sql): """查詢數據""" self.cursor.execute(sql) return self.cursor.fetchall() def __del__(self): """ 關閉mysql連接 """ self.conn.close() self.cursor.close()
創建mysql對象:
mysql_test = Mysql('192.168.232.128','3306','root','123456','iceny')
創建表t1:
mysql_test.exec('create table t1 (id int auto_increment primary key,timestamp TIMESTAMP)')
往t1插入一條數據:
mysql_test.exec('insert into t1 (id,timestamp) value (NULL,CURRENT_TIMESTAMP)')
更新id為1的數據時間戳,改為執行當前的系統時間:
再插入一條數據,查詢該表數據:
mysql_test.exec('insert into t1 (id,timestamp) value (NULL,CURRENT_TIMESTAMP)') result = mysql_test.query('select * from t1') print(result)
可以看到查詢出來的結果是存放在一個元祖中。
刪除表中id = 1的數據:
mysql_test.exec('delete from t1 where id = 1')
以上就是通過python編寫簡單的class類操作mysql增刪改查的簡單實現,這已經能夠應付日常工作中大量的mysql操作了。
python編寫mysql類實現mysql的操作