MySQL-pymysql模块
Navicat软件
安装
下载地址: https://www.cr173.com/soft/126934.html navicat能够充当多个数据库的客户端 navicat图形化界面有时候反应速度较慢 你可以选择刷新或者关闭当前窗口再次打开即可 当你有一些需求该软件无法满足的时候 你就自己动手写sql
提示
""" 1 MySQL是不区分大小写的 验证码忽略大小写 内部统一转大写或者小写比较即可 upper lower 2 MySQL建议所有的关键字写大写 3 MySQL中的注释 有两种 -- # 4 在navicat中如何快速的注释和解注释 ctrl + ? 加注释 ctrl + ? 基于上述操作再来一次就是解开注释 如果你的navicat版本不一致还有可能是 ctrl + shift + ?解开注释 """
pymysql模块
""" 支持python代码操作数据库MySQL """ pip3 install pymysql
sql注入
""" 利用一些语法的特性 书写一些特点的语句实现固定的语法 MySQL利用的是MySQL的注释语法 select * from user where name=‘jason‘ -- jhsadklsajdkla‘ and password=‘‘ select * from user where name=‘xxx‘ or 1=1 -- sakjdkljakldjasl‘ and password=‘‘ """ 日常生活中很多软件在注册的时候都不能含有特殊符号 因为怕你构造出特定的语句入侵数据库 不安全 # 敏感的数据不要自己做拼接 交给execute帮你拼接即可 # 结合数据库完成一个用户的登录功能? import pymysql conn = pymysql.connect( host = ‘127.0.0.1‘, port = 3306, user = ‘root‘, password = ‘123456‘, database = ‘day48‘, charset = ‘utf8‘ # 编码千万不要加- ) # 链接数据库 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) username = input(‘>>>:‘) password = input(‘>>>:‘) sql = "select * from user where name=%s and password=%s" # 不要手动拼接数据 先用%s占位 之后将需要拼接的数据直接交给execute方法即可 print(sql) rows = cursor.execute(sql,(username,password)) # 自动识别sql里面的%s用后面元组里面的数据替换 if rows: print(‘登录成功‘) print(cursor.fetchall()) else: print(‘用户名密码错误‘)
相关推荐
愿天下再无BUG 2020-06-25
阿亮 2020-06-22
liuweiq 2020-06-14
variab 2020-06-14
CloudXli 2020-06-04
sunnyxuebuhui 2020-06-04
JamesRayMurphy 2020-05-31
测试自动化顾问 2020-05-29
heniancheng 2020-05-26
huolan 2020-05-12
zjyhll 2020-05-06
huangliang00 2020-05-03
sulindong0 2020-04-30
探索世界改变世界 2020-04-21
jhshanyu00 2020-04-20
bcbeer 2020-04-16
会哭的雨 2020-03-26