pymysql再封装类

import pymysql


class Lv_Mysql(object):
    # 初始化数据库操作类
    def __init__(self,password,database):
        self.host = 'localhost'    # 设置mysql的host
        self.port = 3306           # 设置mysql的port
        self.user = 'root'         # 设置mysql的user为root
        self.password = password   # 设置mysql的密码
        self.database = database   # 设置访问的数据库

    def help(self):
        print("__init__(password,database)")
        print("----------------------------")
        print("默认参数值:\nself.host = 'localhost' \nself.port = 3306 \nself.user = 'root'\n可自行参照修改")
        print("\n############################\n")
        print("do_save(self,data_dict)")
        print("----------------------------")
        print("data_dict={'table_name':table_name,'table_column':['column1','column2',...],'data_tuple':((xxx,xxx,...),(xxx,xxx,...))}")
        print("\n############################\n")
        print("do_select(self,data_dict)")
        print("---------------------------")
        print("data_dict={'sql':sql,'para_duct':(xxx,xxx,...)}")

    # 连接数据库
    def do_connect(self):
        connection = pymysql.connect(host=self.host,port=self.port,user=self.user,password=self.password,database=self.database,charset='utf8')
        return connection


    # save方法
    def do_save(self,data_dict):
        # data_dict中含有三个数据
        # {'table_name':table_name,'table_column':table_column,'data_tuple':data_tuple}
        # 处理table_column
        table_column_str = ''
        for one_column in data_dict.get('table_column'):
            table_column_str = table_column_str + '`' + one_column + '`,'
        table_column_str = table_column_str[:-1]

        # 连接数据库
        connection = self.do_connect()
        with connection:
            with connection.cursor() as cursor:
                # 构造 sql 语句
                sql = "insert into `" + data_dict.get('table_name') + "`(" + table_column_str + ") VALUES (" + ("%s,"*len(data_dict.get('data_tuple')))[:-1] + ")"
                # 存储数据
                cursor.executemany(sql,data_dict.get('data_tuple')) # ((xx,xx,xx),(xx,xx,xx),...)
                connection.commit()

    # select 方法
    def do_select(self,data_dict):
        connection = self.do_connect()
        with connection:
            with connection.cursor() as cursor:
                if data_dict.get('para_tuple') == None:
                    sql_result = cursor.execute(data_dict.get('sql'))  # sql中没有参数
                elif len(data_dict.get('para_tuple')) == 0:
                    sql_result = cursor.execute(data_dict.get('sql'))  # sql中没有参数
                else:
                    sql_result = cursor.execute(data_dict.get('sql'),data_dict.get('para_tuple'))  # sql中带有参数
                if sql_result != 0:
                    select_info = cursor.fetchall()
                    return select_info
                else:
                    print("查询为空...")
                    return ()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值