Python与MySQL交互——简易用户注册登录
一、运行环境
1.使用Navicat Premium软件,建立数据库和记录用户账号及密码(加密后)的表,或使用系统终端,输入MySQL命令,建立数据库和表;
2.使用pycharm软件,用来与数据库进行交互。
二、实现目标
1.能够记录用户注册的账号和密码,并对密码进行加密处理;
2.能够对输入的登录账号及密码,与数据库内存储的数据进行比对,账号若未匹配,则显示“该账号未注册”,对已注册账号显示“登录成功”或“密码错误”;
3.对交互代码进行封装处理。
三、代码段
1.MysqlHelper.py——python交互封装
# coding:utf-8import pymysqlclass MysqlHelper(object):def __init__(self, host, user, password, database, port=3306, charset='utf8'):self.host = hostself.port = portself.user = userself.password = passwordself.database = databaseself.charset = charsetdef open(self):self.conn = pymysql.connect(host=self.host,port=self.port,database=self.database,user=self.user,password=self.password,charset=self.charset)self.cursor = self.conn.cursor()def close(self):self.cursor.close()self.conn.close()# 增删改def cud(self, sql, params):try:self.open()self.cursor.execute(sql, params)self.conn.commit()self.close()print('OK')except Exception:print("error")# 查询def all(self, sql, params=[]):try:self.open()self.cursor.execute(sql, params)result = self.cursor.fetchall()self.close()return resultexcept Exception:print("error")
2.registe_login_mysql.py ——实现注册或登录
# coding: utf-8from DataBaseTest import MysqlHelper
from hashlib import sha1def register():# 注册端显示内容register_name = input("请输入注册账户名称:")register_paswd = input("请输入账户密码:")sqlHelper = MysqlHelper.MysqlHelper('127.0.0.1', 'root', '数据库密码', '数据库名', 3306, 'utf8')# 对密码进行加密ss = sha1()ss.update(register_paswd.encode("utf-8"))pwd = ss.hexdigest()sql = "insert into register_login(name, password) values (%s, %s)"sqlHelper.cud(sql, (register_name, pwd))print("注册成功")def login():# 登录端显示内容login_name = input("请输入账户名称:")login_password = input("请输入账号密码:")sqlHelper = MysqlHelper.MysqlHelper('127.0.0.1', 'root', '数据库密码', '数据库名', 3306, 'utf8')# 对密码进行加密ss = sha1()ss.update(login_password.encode("utf-8"))pwd = ss.hexdigest()# 与数据库进行交互sql = "select password from register_login where name=%s"result = sqlHelper.all(sql, [login_name])# 根据返回结果进行判断if 0 == len(result):print("用户名未注册!")elif result[0][0] == pwd:print("登录成功!")else:print("密码错误!")if __name__ == "__main__":select_regis_or_login = input("注册账号输入1,登录账号输入2:")if 1 == int(select_regis_or_login):register()elif 2 == int(select_regis_or_login):login()else:print("输入错误!")
四、实现效果
数据库端显示
纠错效果
Python与MySQL交互——简易用户注册登录相关推荐
- 【python MySQL 笔记】python和MySQL交互、操作
[python MySQL 笔记]python和MySQL交互.操作 目录 1. 数据准备 2. SQL演练 2.1 SQL语句强化练习 2.2. 将一个表拆为多个表 3. python操作MySQ ...
- python与mysql交互详解
python与MySQL交互 一.数据准备 二.pymysql模块的使用 三.实例的介绍 1. 面向对象的方法 完成查询 2. 添加增加功能 3.查询-->包含sql注入 4.解决sql注入 四 ...
- python与mysql交互下的简单购物系统
在学习python与MySQL的交互的过程中,遇到过许多问题,磕磕盼盼的写下了一个简单的购物系统附代码如下: mysql数据表的创建sql语句 # 创建顾客表 create table GUEST_I ...
- 分享一个python 处理mysql的简易封装模块---directsql
directsql 一个简单的使用python操作mysql的工具,提供了一些类似sql语法的方法,最终拼接成sql.可以很好地处理一些常见场景,不依赖orm 的同时避免手写大量sql,只需要数据是 ...
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑨〗- 项目实战 - 封装数据库连接池与编写第一个业务流程(用户登录即身份校验)
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 采用php与Mysql数据库完成用户注册登录等操作
1.采用PHP与Mysql数据库,完成用户注册程序,注册表单项可自由指定,尽量包含所有表单类型,注册成功后在新页面显示注册信息,注册中需要上传的照片的操作功能使用自定义函数调用,并在注册成功后显示照片 ...
- python与MySQL交互
from pymysql import connect class MysqlHelp: def init(self,database,host='localhost',user='root',pas ...
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑯〗- 项目实战 - 实现用户管理 - 新增用户功能
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑭〗- 项目实战 - 实现新闻管理 - 审批新闻 功能
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑫〗- 项目实战- 实现新闻管理模块
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
最新文章
- C++ 中 map 的用法
- 在rMBP上利用Python的onetimepass库实现Google Authenticator Application的效果
- win10系统搭建Tensorflow深度学习平台详细步骤
- hibernate延迟加载(get和load的区别)
- mount挂载windows共享文件夹
- asp利用dictionary创建二维数组
- 调整eclipse、SpringToolSuite4编辑器的内存大小以及显示
- NAND FLASH简介
- Ubuntu18.04设置开机启动脚本__NVIDIA Jetson xavier NX设置开机启动脚本
- 邮箱密码暴力破解器(代码)
- 小学到大学各类英语教学视频(一)
- 在哪里能学到计算机基础知识,电脑基础知识学习
- 学生个人网页设计作品 HTML+CSS+JavaScript仿小米商城(8页) 学生个人网页模板 简单个人主页成品 个人网页制作 HTML学生个人网站作业设计代做
- 搜集源码之github搜索语法,网盘搜索,搜索引擎等
- Excel如何快速填写二维表
- BroadcastReceiver 广播
- LaTex 解决目录红框问题
- mysql报08s01的错误_MYSQL报08S01的异常
- VHDL语言的数据类型
- elasticsearch安装与配置