python3连接mysql数据库,python连接mysql用哪个模块

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些
  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些,关系型数据库与非关系型数据库简介
  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 什么是分库分表,为什么要进行分库分表-,分库分表的区别,数据库分库分表是什么,什么情况下需要用分库分表
  • vb中adodb连接数据库,
  • treeview控件绑定数据,wpf treeview数据绑定,详解TreeView绑定数据库
  • sql的多表查询,数据库如何实现多表查询
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库,SQLServer2019 数据库的基本使用之图形化界面操作的实现
  • sql数据库定时备份怎么弄,mysql 定期备份
  • sql数据库定时备份怎么弄,mysql 定期备份,MySQL 数据库定时备份的几种方式(全面)
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar,SQL中varchar和nvarchar的基本介绍及其区别
  • 留言与评论(共有 条评论)
       
    验证码: