上一篇文章基于Python 登录界面的设计,并且介绍用户登录界面只是判断用户输入是为为空。这篇接着做基于使用Python 链接mysql 用于链接数据库认证客户是否有权限和认证用户,这次我们接着介绍Python 于mysql 链接的设计。
备注:
默认情况下所有操作都是基于python 3 版本。
python 链接数据库首先需要有链接数据库的API,python 安装命令如下:
pip3 install PyMySQL
mysql 使用登录需要加密文件需要安装如下API,
pip install cryptography
安装完成以上所使用的API后就可以开始做如下操作。如下操作是按照你机器已经安装完成mysql.后续会更新mysql 的安装过程。
导入所需要对象。
import pymysql
import datetime
建立数据操作类,需要传递参数有,数据库用户名,数据库用户对应密码,可以链接的端口,以及对应的数据库。对象的参数传递在 __init__()内传递。
class db_operation():
def __init__(self,new_host,new_port,new_username,new_password,new_db):
self.db_host = new_host
self.db_port = new_port
self.db_username= new_username
self.db_password= new_password
self.db = new_db
在类内定义链接调用的是 pymysql.connect() 需要返回对应的数据,也可以返回游标。本次未返回游标。对应后续函数调用有灵活性。
def db_connect(self):
db = pymysql.connect(host=self.db_host,port=self.db_port, user=self.db_username,password=self.db_password,database=self.db,charset='utf8')
return db
我们登录用户肯定需要查询用户名和密码是否正确。所以下一步是定义查询用户信息所需要定义的函数。返回查询到的数据。如果查询到会返回一个列表,如果没有值那么返回是一个None
def select_user_byname(self,name):
db=self.db_connect()
cur=db.cursor()
select_sql='select * from user_infor where name=%s'
cur.execute(select_sql,name)
for row in cur.fetchall():
return row
#如果有值返回列表
#如果没有对应的值那么返回为None
今天到这里,定义数据库链接的类和定义查询函数,明天更新与登录界面的数据库链接和登录验证函数的验证关系处理。