python 对MySQL的封装

  • python 对MySQL的封装
from pymysql import *


class MysqlHelp(object):
    """mysql常用方法的封装"""
    mysql_params = {
        "host": "localhost",
        "port": 3306,
        "database": "school",
        "user": "root",
        "password": "******",
        "charset": "utf8"
    }
    conn = Connection(**mysql_params)  # 获取连接对象
    cr_obj = conn.cursor()  # 获取cursor对象

    @classmethod
    def get(cls, field, table_name, num):
        cls.cr_obj.execute("select %s from %s" % (field, table_name))
        if num == 1:
            return cls.cr_obj.fetchone()  # 获取一数据
        else:
            return cls.cr_obj.fetchall()  # 获取所有的数据

    @classmethod
    def insert(cls, table_name, field_name, field_value):
        st = ""
        for i in field_name:
            if i == field_name[-1]:
                st += "".join(i+")")
            elif i == field_name[0]:
                st+= "".join("("+i+",")
            else:
                st += "".join(i + ",")
        field_name=st
        sql = "insert into {}{} values{}".format(table_name, field_name, field_value)
        print(sql)
        ret = cls.cr_obj.execute("insert into {}{} values{}".format(table_name, field_name, field_value))
        print(ret)

    @classmethod
    def update(cls, table_name, field):
        field_name = field["field_name"]
        field_value = field["field_value"]
        c_field = field["c_field"]
        v_field = field["f_field"]

        field_value="'"+ field_value+"'"
        ret = cls.cr_obj.execute(
            "update {} set {}={} where {}={}".format(table_name, field_name, field_value, c_field, v_field))
        print(ret)

    @classmethod
    def delete(cls, table_name, field_name, field_value):
        field_value = "'"+field_value+"'"
        ret = cls.cr_obj.execute("delete from %s where %s = %s" % (table_name, field_name, field_value))
        print(ret)

    @classmethod
    def close(cls):
        cls.conn.commit()
        cls.cr_obj.close()
        cls.conn.close()


if __name__ == '__main__':
    # ret = MysqlHelp.get("*", "students", 4)
    # print(ret)
    # ret1 = MysqlHelp.insert("students",("name","age","high"),("老王","10","190"))
    #
    # ret1 = MysqlHelp.update("students",{"field_name":"high","field_value":"178","c_field":"id","f_field":15})
    # print(ret1)
    ret2 = MysqlHelp.delete("students","name","老王")

    MysqlHelp.close()
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值