数据库——可视化工具Navicat、pymysql模块、sql注入问题
数据库——可视化工具Navicat、pymysql模块、sql注入问题
Navicat可视化工具
Navicat是数据库的一个可视化工具,可直接在百度搜索下载安装,它可以通过鼠标“点点点”的方式实现MySQL在cmd命令行中输入的SQL语句,操作易上手
pymysql模块
pymysql就是用来在python程序中如何操作mysql,它和mysql自带的那个客户端还有navicat是一样的,本质上就是一个套接字客户端,只不过这个套接字客户端是在python程序中用的。
如何使用pymysql模块?
例子说明
# 下载pymysql模块
# pip install pymysql
# 导入pymysql模块
import pymysql
# 1、建立连接
conn = pymysql.connect(
user='root',
password='123',
host='127.0.0.1',
port=3306,
database='day36',
charset='utf8',
# aotucommit=True
)
# 2、获取游标,游标中的参数cursor=pymysql.cursors.DictCursor是确保返回的结果是字典形式
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
username = input("username>>>:").strip()
password = input("password>>>:").strip()
sql = 'select * from user_info where name=%s and password=%s'
# 3、拼接SQL语句
cursor.execute(sql, (username, password))
res = cursor.fetchall()
if res:
print(res)
else:
print("用户名或密码错误!")
# 4、关闭连接,如果设置了aotucommit=True就需要conn.commit()进行确认提交
cursor.close()
sql注入问题
什么是sql注入问题?
sql注入问题就是利用特殊符号,巧妙的绕过真正的SQL校验,这样可以不通过验证就直接进入你的数据库,进行恶意攻击
如何解决sql注入问题?
关键性的数据不要自己动手去拼接,直接交由execute帮你拼接就OK了,就像上面的例子一样
注意
cursor.scroll( 移动个数,移动模式 ),移动模式有 relative(相对) 和absolute(绝对) 两种。
相对移动是从当前游标位置开始往后移动,absolute是从最开始的位置向后移动。
cursor.fetchone( ) 获取一个结果
cursor.fetchmany ( 数量 ) ,获取指定个数的结果,如果数量大于总的个数,不会报错。
cursor.fetchall( ) ,获取所有的结果
数据库——可视化工具Navicat、pymysql模块、sql注入问题的更多相关文章
- Navicat工具、pymysql模块 sql注入
cls超 Navicat工具.pymysql模块 阅读目录 一 IDE工具介绍 二 pymysql模块 一 IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试, ...
- 多表查询、可视化工具、pymysql模块
create table dep( id int primary key auto_increment, name varchar(16), work varchar(16) ); create ta ...
- 1.多表查询 => 转化为一张联合大表 2.可视化工具 3.pymysql模块
多表数据 create table dep( id int primary key auto_increment, name varchar(16), work varchar(16) ); crea ...
- MySQL多表查询,Navicat使用,pymysql模块,sql注入问题
一.多表查询 #建表 create table dep( id int, name varchar(20) ); create table emp( id int primary key auto_i ...
- day40:python操作mysql:pymysql模块&SQL注入攻击
目录 part1:用python连接mysql 1.用python连接mysql的基本语法 2.用python 创建&删除表 3.用python操作事务处理 part2:sql注入攻击 1.s ...
- mysql数据库可视化工具—Navicat Premium—安装与激活
一.Navicat premium简介 Navicat premium是一款数据库管理工具.将此工具连接数据库,你可以从中看到各种数据库的详细信息.包括报错,等等.当然,你也可以通过他,登陆数据库,进 ...
- python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)
昨日内容回顾 外键的变种三种关系: 多对一: 左表的多 对右表一 成立 左边的一 对右表多 不成立 foreign key(从表的id) refreences 主表的(id) 多对多 建立第三张表(f ...
- 可视化工具Navicat的使用/pymysql模块的使用
一.可视化工具Navicat的使用 1.官网下载:http://www.navicat.com/en/products/navicat-for-mysql 2.网盘下载:http://pan.baid ...
- 第八章| 3. MyAQL数据库|Navicat工具与pymysql模块 | 内置功能 | 索引原理
1.Navicat工具与pymysql模块 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数 ...
随机推荐
- CSS3 边框 border-image
border-image:xx xx xx 是一系列参数的简写,该属性将图片作为边框修饰 border-image-source:url(border.png); 图片url地址 border-ima ...
- 201871010126 王亚涛 《面向对象程序设计 Java》 第十五周学习总结
内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11 ...
- 201871010124-王生涛《面向对象程序设计(java)》第十四周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...
- Python运维中20个常用的库和模块
1.psutil是一个跨平台库(https://github.com/giampaolo/psutil) 能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和 ...
- This server is in the failed servers list: localhost/127.0.0.1:16000 启动hbase api调用错误
api 调用发现错误 Mon Nov 18 23:04:31 CST 2019, RpcRetryingCaller{globalStartTime=1574089469858, pause=100, ...
- TCP的三次握手和四次挥手详解
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. TCP报文格式 TCP的包如下: ...
- 使用node.js的http-server开启一个本地服务器
用html写了一个网页,想要在手机上查看适配效果,但是苦于手机上没有直接查看HTML的.想到手机和电脑都在一个局域网内,能不能搭建一个局域网内的网页服务器呢? 1.下载 http-server 显然, ...
- [学习笔记] 网络最大流的HLPP算法
#define \(u\)的伴点集合 与\(u\)相隔一条边的且\(u\)能达到的点的集合 \(0x00~ {}~Preface\) \(HLPP(Highest~Label~Preflow~Push ...
- [LeetCode] 234. Palindrome Linked List 回文链表
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
- Matlab:Toeplitz矩阵-向量乘法的快速傅里叶(FFT)算法
一.$\tt Toeplitz$矩阵与循环($\tt Circulant$)矩阵 定义 为$n\times n$阶循环矩阵. 定义 $T_n(i,j)=t_{j-i} $ 为$n\times n$ ...