安装数据库
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')")