mysql.connector寫了一個簡單的mysql操做類:

mport  pymysqlclass MyDB():    def __init__(self, host="127.0.0.1", username="root", password="123456", port=3306, database="aais"):        '''類例化,處理一些鏈接操做'''        self.host = host        self.username = username        self.password = password        self.database = database        self.port = port        self.cur = None        self.con = None        # connect to mysql        try:            self.con = pymysql.connect(host=self.host, user=self.username, password=self.password,                                               port=self.port, database=self.database)            self.cur = self.con.cursor()        except:            raise "DataBase connect error,please check the db config."    def close(self):        '''結束查詢和關閉鏈接'''        self.con.close()    def create_table(self, sql_str):        '''建立數據表'''        try:            self.cur.execute(sql_str)        except Exception as e:            print(e)    def query_formatrs(self, sql_str):        '''查詢數據,返回一個列表,裏面的每一行是一個字典,帶字段名            cursor 爲鏈接光標            sql_str爲查詢語句        '''        try:            self.cur.execute(sql_str)            rows = self.cur.fetchall()            r = []            for x in rows:                r.append(dict(zip(self.cur.column_names, x)))            return r        except:            return False    def query(self, sql_str):        '''查詢數據並返回             cursor 爲鏈接光標             sql_str爲查詢語句        '''        try:            self.cur.execute(sql_str)            rows = self.cur.fetchall()            return rows        except:            return False    def execute_update_insert(self, sql):        '''        插入或更新記錄 成功返回最後的id        '''        self.cur.execute(sql)        self.con.commit()        return self.cur.lastrowidif __name__ == "__main__":    mydb = MyDB()    # 建立表    mydb.create_table('create table user (id varchar(20) primary key, name varchar(20))')    # 插入數據    mydb.execute_update_insert("insert into user (id, name) values  ('1', 'Michael')")    # 查詢數據表    mydb_new = MyDB()    results = mydb.query("SELECT * FROM login_user")    print(results)    for row in results:        productname = row[0]        supportname = row[1]        productinterface = row[2]        print("productname=%s,supportname=%s,productinterface=%s" % \              (productname, supportname, productinterface))    list = mydb.query_formatrs("SELECT * FROM login_user")    for i in list:        print("記錄號:%s   值:%s" % (list.index(i) + 1, i))    # 關閉數據庫    mydb.close()
相關文章
相關標籤/搜索