当前位置:Gxlcms >
数据库问题 >
unittest(22)- p2p项目实战(7)-do_mysql
unittest(22)- p2p项目实战(7)-do_mysql
时间:2021-07-01 10:21:17
帮助过:25人阅读
7. do_msql.py
import mysql.connector
from p2p_project_2020_1_21.tools
import project_path
from p2p_project_2020_1_21.tools.read_config
import ReadConfig
class DoMysql:
def do_mysql(self, query_sql, state=
"all"):
# 查询语句参数化, 通过state控制返回的结果是1条或者多条记录
# 从配置文件读取db_config
db_config = eval(ReadConfig().get_config(project_path.case_config_path,
"DB",
"db_config"))
# 创建一个数据库连接
cnn = mysql.connector.connect(**db_config)
# 传入的参数是字典时,要使用关键字参数的形式
# 游标cursor
cursor =
cnn.cursor()
# 执行查询语句
cursor.execute(query_sql)
# 获取结果,打印结果
if state == 1
:
res = cursor.fetchone()
# 返回的数据是元组,结果只有1条记录
else:
res = cursor.fetchall()
# 返回的结果是列表类型,列表嵌套元组,可以是多行记录,也可以是一行记录
# print(res)
# 操作完数据库后一定要记得关闭
# 关闭游标
cursor.close()
# 关闭连接
cnn.close()
return res
if __name__ ==
‘__main__‘:
query_sql =
"select * from student1 where id < 4"
res =
DoMysql().do_mysql(query_sql)
print(res)
print(res[0][0])
配置文件如图:
unittest(22)- p2p项目实战(7)-do_mysql
标签:fetchall lse 实战 数据库连接 pre 通过 查询 div etc