import pymysql #导入pymysql模块
from scripts.handle_yaml import HandleYaml #系统配置模块,关于数据库的配置都放在mysql区域名里面
do_yaml = HandleYaml()
class hander_sql:
def __init__(self):
# 第一步:创建连接对象
self.conn = pymysql.connect(host=do_yaml.get_data('mysql', 'host'),
user=do_yaml.get_data('mysql', 'user'),
password=do_yaml.get_data('mysql', 'password'),
db=do_yaml.get_data('mysql', 'db'),
port=do_yaml.get_data('mysql', 'port'),
charset='utf8', # 这里只能写为utf8
#cursorclass设置返回的数据类型
# a.指定每一条记录为字典类型
# b.默认每一条记录为元祖类型
cursorclass=pymysql.cursors.DictCursor)
# 第二步:创建游标对象
self.one_a=self.conn.cursor()
pass
#创建查询一条数据的方法
def one_select(self,sql,arge=None):
#第三步:执行SQL语句
self.one_a.execute(sql,arge=None)#args=None 是占位符,当sql语句里面有 %s占位符的时候,就要传递
#第四步:获取值并提交
self.conn.connect()
#5 第五步:fetchone获取一条数据,如果游标类为DictCursor,则结果为字典类型
return self.one_a.fetchone()
# 创建查询一条数据的方法
def moer_select(self,sql):
self.one_a.execute(sql)
self.conn.connect()
# fetchall获取多条数据,如果游标类为DictCursor,则结果为嵌套字典的列表类型
return self.one_a.fetchall()
# 关闭的方法
def colc(self):
# 第六步:关闭连接
# a.必须先关游标
# b.再关连接
self.one_a.close()
self.conn.close()
MySQLdb连接时可用参数
- host: 数据库主机名.默认是用本地主机
- user: 数据库登陆名.默认是当前用户
- passwd: 数据库登陆的秘密.默认为空
- db: 要使用的数据库名.没有默认值
- port: MySQL服务使用的TCP端口.默认是3306
- charset: 数据库编码