码迷,mamicode.com
首页 > 数据库 > 详细

MySQL-pymysql模块

时间:2020-05-07 19:53:20      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:database   https   手动   sof   hal   lse   语法   day   head   

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(用户名密码错误)

 

MySQL-pymysql模块

标签:database   https   手动   sof   hal   lse   语法   day   head   

原文地址:https://www.cnblogs.com/zhenghuiwen/p/12844946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!