pymysql

PyMySQL 是一个纯 Python 实现的 MySQL 客户端操作库,支持事务、存取过程、批量执行,实现增删改查等

# 注册
def register(cursor):
username = input('请输入注册的用户名').strip()
password = input('请输入您的密码').strip()
# 验证用户名是否已经存在
sql = 'select * from egg where name=%s'
# 执行sql语句,筛选在拼接
cursor.execute(sql, (username,))
# 获取所有返回结果
res = cursor.fetchall()
# not无数据情况(创建)
if not res:
# 插入数据
sql1 = 'insert into egg(name,password) values(%s,%s)'
# execute方法筛选再拼接,执行sql语句
cursor.execute(sql1,(username, password))
print('用户:%s注册成功' % username)
else:
print('用户名已存在')
# 登录
def login(cursor):
username = input('请输入您用户名').strip()
password = input('请输入您的密码').strip()
# 先获取是否存在用户名数据
sql = 'select * from userinfo where name=%s'
# 执行sql语句,筛选在拼接
cursor.execute(sql,(username,))
# 获取所有返回结果
res = cursor.fetchall() # 结果是列表套字典
# 判断密码是否存在
if res:
# 效验密码(索引0 获取真正的列表里面的字典)
real_dict = res[0]
# 校验密码
if password == real_dict.get('password'):
print('登录成功')
else:
print('密码错误')
else:
print('用户名不存在') # 连接数据库
def get_conn():
# 调任模块
import pymysql
# 创建链接(链接到数据库)
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='123',
database='db_01',
charset='utf8',
autocommit=True # 涉及到增删改 自动二次确认
)
# 生成一个游标对象(操作数据库)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 让数据自动组织成字典
return cursor func_dic = {'1': register, '2': login} # 执行
while True:
print("""
1.注册功能
2.登录功能
""")
# 每一次循环都能获取对象(游标)
cursor = get_conn() choice = input('请输入功能编号>>>:').strip()
if choice in func_dic:
# 获取用户输入选择的功能编号
func_name = func_dic.get(choice)
# 调用函数
func_name(cursor)
else:
print('暂时没有当前功能编号')

python连接MySQL数据库实现(用户登录测试功能)pymysql的更多相关文章

  1. Python连接MySQL数据库的多种方式

    上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...

  2. python 连接Mysql数据库

    1.下载http://dev.mysql.com/downloads/connector/python/ 由于Python安装的是3.4,所以需要下载下面的mysql-connector-python ...

  3. pymysql模块使用---Python连接MySQL数据库

    pymysql模块使用---Python连接MySQL数据库 浏览目录 pymysql介绍 连接数据库 execute( ) 之 sql 注入 增删改查操作 进阶用法 一.pymysql介绍 1.介绍 ...

  4. Java Spring+Mysql+Mybatis 实现用户登录注册功能

    前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...

  5. Python连接MySQL数据库

    连接MySQL数据库 源码: import MySQLdb #导入MySQLdb模块 print '连接数据库</br>' #连接MySQL数据库 connect the database ...

  6. python入门(十七)python连接mysql数据库

    mysql 数据库:关系型数据库mysql:互联网公司 sqllite:小型数据库,占用资源少,手机里面使用oracle:银行.保险.以前外企.sybase:银行+通信 互联网公司key:valuem ...

  7. Python连接MySQL数据库执行sql语句时的参数问题

    由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...

  8. Python连接Mysql数据库_20160928

    python版本 2.7.1,python 连接mysql需要安装MYSQLdb模块 安装方法一种是cmd pip命令安装 pip install MySQLdb 一种是网上下载python MYSQ ...

  9. python连接mysql数据库,并进行添加、查找数据

    1.删除MySQL数据表中的记录 DELETE FROM table_name WHERE condition; python操作mysql1数据库 import pymysql # 连接mysql数 ...

  10. python连接mysql数据库读取数据

    #-*- coding:utf-8 -*- #Author:'Lmc' #DATE: 2019/4/28/0028 上午 11:22:47 #FileName:test.PY import pymys ...

随机推荐

  1. 8. 使用Fluentd+MongoDB采集Apache日志

    Fluentd+MongoDB,用以实时收集半结构化数据. 背景知识 日志接入Fluentd后,会以json的格式在Fluentd内部进行路由.这就决定了Fluentd处理日志的方式是非常灵活的,它将 ...

  2. 我说HashMap初始容量是16,面试官让我回去等通知

    众所周知HashMap是工作和面试中最常遇到的数据类型,但很多人对HashMap的知识止步于会用的程度,对它的底层实现原理一知半解,了解过很多HashMap的知识点,却都是散乱不成体系,今天一灯带你一 ...

  3. JVM中的堆

    堆 内存结构 堆的核心概念 <java虚拟机规范>中对java堆的描述是:所有的对象实例以及数组都应当在运行时分配在堆上. 一个JVM实例只存在一个堆内存(就是new 出来一个对象),ja ...

  4. 表单快速启用城市地区功能 齐博x1齐博x2齐博x3齐博x4齐博x5齐博x6齐博x7齐博x8齐博x9齐博x10

    比如分类系统\application\fenlei\config.php 修改这个文件,里边加入参数 'use_area'=>true, 那么会员中心与后台的,修改发布页面,都会自动加上城市地区 ...

  5. HDFS追加数据报错解决办法

    主要的两个错误,今天晚上一直轮着报: 第一个 2022-10-25 21:37:11,901 WARN hdfs.DataStreamer: DataStreamer Exception java.i ...

  6. WPF 鼠标移动到图片变大,移开还原,单击触发事件效果

    <Grid>         <Canvas x:Name="LayoutRoot">             <Image Cursor=" ...

  7. $_SERVER["REQUEST_URI"],在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有 apache 才支持

    例如访问:http://localhost/index.php?app=lunbo获取到的$_SERVER["REQUEST_URI"]为"/index.php?app= ...

  8. 聊一聊对一个 C# 商业程序的反反调试

    一:背景 1.讲故事 前段时间有位朋友在微信上找到我,说他对一个商业的 C# 程序用 WinDbg 附加不上去,每次附加之后那个 C# 程序就自动退出了,问一下到底是怎么回事?是不是哪里搞错了,有经验 ...

  9. .NET 7 中 LINQ 的疯狂性能提升

    LINQ 是 Language INtegrated Query 单词的首字母缩写,翻译过来是语言集成查询.它为查询跨各种数据源和格式的数据提供了一致的模型,所以叫集成查询.由于这种查询并没有制造新的 ...

  10. javax.script.ScriptException: Cannot find engine named: 'nashorn', ensure you set language field in JSR223 Test Element: JSR223 预处理程序

    jmeter运行脚本报错,跟java版本有关,做个记录. 1. 问题记录: 执行登录接口测试,登录失败.点击jmeter右上角[黄色!],查看错误日志.显示如下: 2022-09-23 10:29:5 ...