import mysql.connector class MysqlDb(): __db_config = { 'host':'xxx.xxx.xxx', 'port':3306, 'username':'root', 'password':'password', 'database':'dataname', 'charset':'utf8' } def __init__(self,host=__db_config['host'],port=__db_config['port'],user=__db_config['username'],passwd=__db_config['password'],db=__db_config['database'],charset=__db_config['charset']): try: self.connection = mysql.connector.connect(host=host,port=port,user=user,passwd=passwd,db=db,charset=charset) except mysql.connector.Error as e: print("Connect Database Failed.",str(e)) self.cursor = self.connection.cursor(buffered=True) # 查询所有 def fetchall(self, sql): try: self.__execute(sql) return self.cursor.fetchall() except Exception as error: print(error) # 查询多条数据 def fetchmany(self, sql, size=1): try: self.__execute(sql) return self.cursor.fetchmany(size) except Exception as error: print(error) # 查询一条数据 def fetchone(self, sql): try: self.__execute(sql) return self.cursor.fetchone() except Exception as error: print(error) # 增删改的方法 def change(self, sql): try: self.__execute(sql) self.connection.commit() except Exception as error: print(error) # 执行的私有方法 def __execute(self, sql): self.cursor.execute(sql) # 关闭连接和游标 def __del__(self): self.connection.close()
使用方法
import MysqlDb as mdb def main(): db=mdb.MysqlDb() db.change('insert into test (test)value ("ddd")') db.change('delete from test where id=3') db.change('update test set test="fff" where id=4') rows=db.fetchall('Select * from test') for row in rows: print(row) print(db.fetchmany('Select * from test',2)) print(db.fetchone('Select * from test')) main()