python mysql类

import pymysql


class MysqlHelper(object):
    conn = None

    def __init__(self, host, username, password, db, charset='utf8', port=3306):
        self.host = host
        self.username = username
        self.password = password
        self.db = db
        self.charset = charset
        self.port = port

    def connect(self):
        self.conn = pymysql.connect(host=self.host, port=self.port, user=self.username, password=self.password, db=self.db,
                            charset=self.charset)
        self.cursor = self.conn.cursor()

    def close(self):
        self.cursor.close()
        self.conn.close()

    def get_one(self, sql, params=()):
        result = None
        try:
            self.connect()
            self.cursor.execute(sql, params)
            result = self.cursor.fetchone()
            self.close()
        except Exception as e:
            print(e)
        return result

    def get_all(self, sql, params=()):
        list_data = ()
        try:
            self.connect()
            self.cursor.execute(sql, params)
            list_data = self.cursor.fetchall()
            self.close()
        except Exception as e:
            print(e)
        return list_data

    def insert(self, sql, params=()):
        return self.__edit(sql, params)

    def update(self, sql, params=()):
        return self.__edit(sql, params)

    def delete(self, sql, params=()):
        return self.__edit(sql, params)

    def __edit(self, sql, params):
        count = 0
        try:
            self.connect()
            count = self.cursor.execute(sql, params)
            self.conn.commit()
            self.close()
        except Exception as e:
            print(e)
        return count
aa=MysqlHelper("db4dfsdffree.net","myabcd","*******","mysjhm")
sql="select sjh from sjh limit 10"
#显示指定表的前十个记录
sql1="select sjh from sjh where sjh='13000290804'" sql2="delete from sjh where sjh='13000290804'" sql3="select table_name from information_schema.tables where table_schema='mysjhm'" sql4="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'mysjhm'" sql5="select table_name,column_name,column_comment from information_schema.columns where table_schema ='mysjhm' and table_name ='sjh'" #显示指定数据库指定表的字段名称 sql6="desc sjh" #显示指定的详细结构(字段名称 类型 长度) print(aa.get_all(sql6)) #aa.update(sql)

 

posted @ 2021-01-03 22:34  myrj  阅读(529)  评论(0编辑  收藏  举报