python3连接mysql数据库,python连接mysql用哪个模块
实现功能大概
将大蟒和关系型数据库数据库交互进行封装——《utils》。巴拉圭
文件程序- 》blog.py
# -*-编码:utf-8 -*-
# @时间:2019/08/30 15:33
# @作者:刘
# @File : utils.py
导入已安装
导入摘要算法
助类类:
def __init__(自身,主机,用户,密码,端口,数据库):
self.host=host
self.user=用户
自我密码=密码
self.port=port
自我数据库=数据库
定义连接(自身):
自我。conn=pymysql。连接(主机=自身。主机,用户=自己.用户,密码=自己.密码,端口=自己.端口,
数据库=自我数据库)
自我。光标=自身。连接光标(pymysql。光标。字典光标)
# 關閉
定义关闭(自己):
self.cursor.close()
self.conn.close()
# 封装增删改
def __oper(self,sql,params):
row=0
尝试:
self.connect()
row=self.cursor.execute(sql,params)
self.conn.commit()
self.close()
例外情况为e:
打印(五)
返回行
def insert(self,sql,params=[]):
回归自我__oper(sql,params)
def delete(self,sql,params=[]):
回归自我__oper(sql,params)
定义更新(self,sql,params=[]):
回归自我__oper(sql,params)
def find_one(self,sql,params=[]):
数据=无
尝试:
self.connect()
self.cursor.execute(sql,params)
data=self.cursor.fetchone()
self.close()
例外情况为e:
打印(五)
返回数据
def find_all(self,sql,params=[]):
#尝试:
self.connect()
self.cursor.execute(sql,params)
datas=self.cursor.fetchall()
self.close()
#作为e的例外情况除外:
#打印(五)
返回数据
def secret_sha256(自身,密码):
sha256=hashlib.sha256()
沙256。更新(密码。编码( utf-8 ))
password=sha256.hexdigest()
返回passwordblog.py# -*-编码:utf-8 -*-
# @时间:2019/08/30 17:18
# @作者:刘
# @File : blog.py
从实用程序导入助类
从日期时间导入日期
从日期时间导入日期时间
# 创建数据库工具类对象
db=dbHelper(主机=10.0.102.54 ,用户=root ,密码=root ,端口=3306,数据库=博客)
#登陆
虽然正确:
选择=输入(请选择:1.登陆2.注册3.发表博客4.退出登陆5.浏览文章6.查看全部用户文章7.忘记密码)
if choice==1 :
用户名=输入(用户名:)
密码=输入(密码:)
如果用户名和密码:
# 数据库查询
SQL= select * from user where username=% s
data=db.find_one(sql,(用户名),# {id:1,用户名: admin , password :.}
如果数据:
# 此人注册过
db_password=data.get(password )
password=db.secret_sha256(密码)
如果密码==数据库密码:
sql=更新用户集islogin=1,其中id=%s
db.update(sql,(data.get(id ))
打印(用户登录成功!)
否则:
打印(用户名或者密码有误!)
否则:
打印(输入的用户名有误!)
否则:
打印(输入不能为空)
#注册
elif choice==2 :
# 注册
用户名=输入(用户名:)
密码=输入(密码:)
repassword=input(确认密码:)
电话=输入(手机号码:)
电子邮件=输入(邮箱:)
# 查询
如果用户名:
sql=select * from用户,其中用户名=%s或电话=%s或电子邮件=%s
data=db.find_one(sql,params=(用户名,电话,电子邮件))
#打印( 1 )
如果数据:
打印(此用户名或者手机号码或者邮箱已被占用!)
否则:
# 注册
如果密码和再密码:
如果密码==repassword:
#打印( 2 )
password=db.secret_sha256(密码)
sql=插入到用户(用户名,密码,电话,电子邮件,日期)值(%s,%s,%s,%s,%s)
row=db.insert(sql,(用户名,密码,电话,电子邮件,日期。今天()))
如果行:
打印(注册成功!)
否则:
打印(注册失败!)
否则:
打印(两次密码不一致!)
否则:
打印(密码不能为空~)
否则:
打印(用户名不能为空!)
#发表博客
elif choice==3 :
# 发表文章
用户名=输入(用户名:)
如果用户名:
# 数据库查询
SQL= select * from user where username=% s
data=db.find_one(sql,(用户名),# {id:1,用户名: admin , password :.}
如果数据:
islogin=data.get(islogin )
如果是登录:
# 发表文章
title=input(请输入文章标题:)
内容=输入(输入内容:)
# 构建结构化查询语言
sql=插入博客(标题、内容、更新日期、uid)值(%s,%s,%s,%s)
row=db.insert(sql,(标题,内容,日期时间.现在()、数据.获取( id ))
如果行:
打印(用户名)发表文章成功)
否则:
打印(文章发表失败!)
否则:
打印(此用户还没有登陆,请登陆.)
否则:
打印(用户名有误!)
#退出登陆
elif choice==4 :
# 退出登陆
用户名=输入(用户名:)
如果用户名:
# 数据库查询
SQL= select * from user where username=% s
data=db.find_one(sql,(用户名),# {id:1,用户名: admin , password :.}
如果数据:
sql=更新用户集islogin=0,其中id=%s
row=db.update(sql,(data.get(id ))
如果行:
打印(用户名)成功退出!)
破裂
否则:
打印(退出失败!)
否则:
打印(输入的用户名有误!)
否则:
打印(用户名不能为空!)
#浏览自己的文章
elif choice==5 :
用户名=输入(用户名:)
如果用户名:
# 数据库查询
SQL= select * from user where username=% s
data=db.find_one(sql,(用户名),# {id:1,用户名: admin , password :.}
如果数据:
islogin=data.get(islogin )
如果是登录:
# 浏览文章
# 构建结构化查询语言
uid=data.get(id )
sql=选择标题,博客内容,其中uid=%s
#打印(sql)
content=db.find_one(sql,(uid,))
打印(标题为: content.get(title ))
打印(内容为: content.get(content ))
#打印(内容)
否则:
打印(此用户还没有登陆,请登陆.)
否则:
打印(用户名有误!)
#查看所有用户文章
elif choice==6 :
用户名=输入(用户名:)
如果用户名:
# 数据库查询
sql=select * from user
data=db.find_all(sql,)# {id:1,用户名:管理员,密码:.}
打印(数据)
如果数据:
sql=从博客中选择标题和内容
#打印(sql)
content=db.find_all(sql,)
打印(内容)
i=len(内容)
打印(一-1)
对于范围中的我:
打印(标题为:内容[我].get(title ))
打印(内容为:内容[我].get(content ))
打印(-)
i=1
#打印(内容)
否则:
打印(查询失败)
#忘记密码
elif choice==7 :
# 忘记用户名
用户名=输入(输入忘记密码的用户名:)
如果用户名:
# 数据库查询
SQL= select * from user where username=% s
data=db.find_one(sql,(用户名),# {id:1,用户名: admin , password :.}
如果数据:
islogin=data.get(islogin )
如果是登录:
# 登陆可直接修改密码
newpassword=input(请输入新的用户密码)
新密码=db。secret _ sha 256(新密码)
# 构建结构化查询语言
#更新表名设置字段1=值1,字段2=值2.在哪里条件#不加在哪里修改的是所有的记录
sql=更新用户设置密码=%s,其中用户名=%s
row=db.insert(sql,(新密码,用户名,))
如果行:
打印(用户名)密码修改成功)
否则:
打印(修改失败!)
否则:
打印(此用户还没有登陆,请登陆修改密码.)
否则:
打印(无此用户!)
否则:
打印(输入错误!)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。