利用Navicat Premium 15软件连接mysql数据库,新建testdb数据库,并添加2个表usertest和userinfo。

 

main.py
#!/usr/bin/python3 # -*- coding: utf-8 -*- import re import pymysql # 导入模块
myConn = pymysql.connect( host='127.0.0.1', # 主机模块 port=3306, # 端口号
user='root', # 用户名 password='root', # 密码 database='testdb', # 需要连接的数据库
charset='utf8' # 指定编码utf8 ) if __name__ == '__main__': # myCursor =
myConn.cursor() # 获取游标,默认游标类型为元组形式 myCursor =
myConn.cursor(pymysql.cursors.DictCursor) # 获取的查询结果更加规范化 便于分辨 sql = "select *
from userTest;" row_count = myCursor.execute(sql) # row_count 受影响的行数 for x in
myCursor.fetchall(): # 取出所有的 print(x) try: # ===插入记录=== sql = "INSERT INTO
userTest(id,name,age) VALUES(%s, %s, %s)" val = (6, "John", 23)
myCursor.execute(sql, val) # 执行sql语句 """ val = [(7, "Lily", 30), (8, "Martin",
35), (9, "Sally", 32)] myCursor.executemany(sql, val) # 插入多行数据时,执行sql语句 """ #
===修改记录=== # 以字符串形式书写SQL语句 sql = "update userTest set name = '刘琪' where name =
'韩寒'; " # 执行SQL语句 row_count = myCursor.execute(sql) # ===删除记录=== #
以字符串形式书写SQL语句 sql = "delete from userTest where name= '王五' ;" # 执行SQL语句
row_count = myCursor.execute(sql) myConn.commit() # 增删改操作时,需要进行提交 except
Exception as err: # 检查异常原因是否是感兴趣的 result1 = re.search('Duplicate
entry.*key.*PRIMARY', str(err)) # 如果是,什么都不用做 # 否则(也不知道是什么原因),那就回滚吧 if result1
is None: myConn.rollback() raise myCursor =
myConn.cursor(pymysql.cursors.DictCursor) # 获取的查询结果更加规范化 便于分辨 sql = "select *
from userTest;" row_count = myCursor.execute(sql) # row_count受影响的行数 for x in
myCursor.fetchall(): # 取出所有的 print(x) # =====使用数据来进行一下用户名和密码的认证操作======
myCursor = myConn.cursor(pymysql.cursors.DictCursor) usr =
input('请输入用户名:').strip() pwd = input('请输入密码:').strip() # 当已知用户名时 破解密码为 (feng'--
dfadasdad) # 当未知用户名密码时 破解密码为 (fsdf' or 1=1 -- fdsfsdfs) try: sql = "select *
from userinfo where username='%s' and password='%s';" % (usr, pwd) #
res我们说是得到的行数,如果这个行数不为零,说明用户输入的用户名和密码存在,如果为0说明不存在 row_count =
myCursor.execute(sql) # pymysql 模块会自动将输入的特殊字符删除 print(row_count) #
如果输入的用户名和密码错误,这个结果为0,如果正确,这个结果为1 if row_count: print('登陆成功') else:
print('用户名和密码错误!') except Exception as err: # 检查异常原因是否是感兴趣的 result1 =
re.search('Duplicate entry.*key.*PRIMARY', str(err)) # 如果是,什么都不用做 #
否则(也不知道是什么原因),那就回滚吧 if result1 is None: myConn.rollback() raise
myCursor.close() # 关闭游标 myConn.close() # 关闭连接
 

技术
©2019-2020 Toolsou All rights reserved,
css中上下左右居中的几种实现方法[CISCN 2019 初赛]Love Mathc/c++语言实现登陆界面Unity3D 人称设置(第一人称视角、第三人称视角)Fastadmin框架自定义搜索操作流程2021最新Python自动化软件测试笔试题(含答案)黑客帝国装逼的代码雨mysql数据库设置字符集配置修改my.ini文件(windows)python之panda模块1Python学习笔记:基础+进阶10道练习题