Python 使用MySQL数据库

安装数据库

pip install pymysql

查看数据库是否安装好

pip list

进行增删改查
# 封装数据工具类
import pymysql

class DBUtil(object):

    # 添加类属性
    conn = None

    @classmethod # 常规方法,前面加类的方法
    def __get_conn(cls): # 变为私有,前面加两个下划线“__”
        # 判断 conn 是否为空,如果是,再创建
        if cls.conn is None:
            cls.conn = pymysql.connect(host="192.163..", # 主机
                                       port=3061, # 端口号
                                       user="hcp", # 账号
                                       password="tuden123", # 密码
                                       database="test", # 数据库连接名
                                       charset="utf8")  
        # 返回 非空连接
        return cls.conn

    @classmethod
    def __close_conn(cls):
        # 判断 conn 不为空,需要关闭
        if cls.conn is not None:
            cls.conn.close()
            cls.conn = None

    @classmethod
    # 常用方法: 查询一条
    def select_one(cls, sql):
        cursor = None
        res = None

        try:
            # 获取连接
            cls.conn = cls.__get_conn()

            # 获取游标
            cursor = cls.conn.cursor()

            # 执行 查询语句
            cursor.execute(sql)

            # 提取一条结果
            res = cursor.fetchone()
        except Exception as err:
            print("查询sql语句错误", str(err))
        finally:
            # 关闭连接
            cursor.close()

            # 关闭连接
            cls.__close_conn()

            # 将查询sql 执行的结果,返回
            return res

    @classmethod
    # 常用方法: 增删改
    def uid_db(cls, sql): # 用户可以查询
        cursor = None

        try:
            # 获取连接
            cls.conn = cls.__get_conn()

            # 获取游标
            cursor = cls.conn.cursor()

            # 执行 UID 语句
            cursor.execute(sql)
            print("影响的行数:", cls.conn.affected_rows())
            # 事务
            cls.conn.commit()
        except Exception as err:
            # 回滚事务
            cls.conn.rollback()
            print("增删改 SQL 执行失败:", str(err))
        finally:
            # 关闭连接
            cursor.close()

            # 关闭连接
            cls.__close_conn()

if __name__ == '__main__':
    res = DBUtil.select_one("select * from book where id = 8;")
    print("查询的结果为", res)

    DBUtil.uid_db("update book set is_delete = 1 where id = 1111")
    DBUtil.uid_db("delete from book where id = 111")
    DBUtil.uid_db("insert into book(id,title,pub_date) values(16, '西', '1966-01-01')")

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值