pymysql基本操作
时间:2019-12-16
本文章向大家介绍pymysql基本操作,主要包括pymysql基本操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
pymysql操作说明
1.查询数据
import pymysql
conn = pymysql.connect(
user = 'root',#用户名
password ='123',#用户密码
host = '127.0.0.1',#ip地址
port =3306,#端口
charset = 'utf8',#编码
database = 'day36'#库名
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)#产生游标
#cursor=pymysql.cursors.DictCursor 将查询出来的结果制成字典的行式返回
sql ="select * from course"
res =cursor.execute(sql)#查询可以控制的行数
print(res)
ret =cursor.fetchone()#只获取查询结果中的一条数据
print(cursor.fetchmany())#查询多条数据,可添加参数,更改查询条数
print(cursor.fetchmany(2))
print(cursor.fetchall())#查询所有数
光标移动
数据查询光标会根据读取内容向后移动,相当于文件操作
可以通过光标移动
相对移动:
cursor.scroll(1,'relative')#基于现在指针的位置向后移动1条数据
cursor.scroll(1,'absolute')#基于起始位置,向后移动1条数据
进行增,删,改需要确认操作
conn = pymysql.connect(
user = 'root',
passwd = '123456',
db = 'day36',
host = '127.0.0.1',
port = 3306,
charset = 'utf8',
autocommit = True # 自动提交确认
)
增加数据
sql ='insert into user(name,password)value("123",123)'
res = cursor.execute(sql)
修改数据
sql ='update user set name="4567" where password=123'
res = cursor.execute(sql)
删除数据
sql='delete from user where name="345"'
res = cursor.execute(sql)
sql注入问题
import pymysql
conn = pymysql.connect(
user = 'root',
password = '123',
host = '127.0.0.1',
port = 3306,
charset = 'utf8',
database = 'day36',
autocommit = True
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
usernamne =input('请输入账户')
password = input("密码")
sql ='select * from user where name="%s"and password="%s"'%(usernamne,password)
print(sql)
res =cursor.execute(sql)
if res:
print(res)
else:
print('错误')
知道账户
请输入账户xxx" or 1=1 -- asdf asd f
# 密码53452
# select * from user where name="xxx" or 1=1 -- asdf asd f"and password="41235"
不知道账户
# 请输入账户4567" -- asdfasdfasdf
# 密码52345
# select * from user where name="4567" -- asdfasdfasdf"and password="52345"
为了结局注入问题利用execute进行其操作
cursor.execute(sql,(username,password))
原文地址:https://www.cnblogs.com/fxsm/p/12051049.html
- 次次获得《头脑王者》满分的秘诀
- 如何在ASP.NET 2.0中定制Expression Builders
- codeproject 几篇asp.net文章
- .NET Web 自动化测试工具
- Javascript数组常用方法[包含MS AJAX.NET的prototype扩展方法]示例
- 10步骤优化SQL Server 数据库性能
- 漫谈语音合成之Char2Wav模型
- [基础]Javascript中的继承示例代码
- javascript天生就具备类似c#中的"委托"功能
- 使用MonoDevelop开发跨平台的应用程序
- Pycharm使用技巧总结
- [基础]电话/手机常见验证的Javascript示例
- 按照Web Service方式调用WCF服务的问题
- 利用Lucene打造站内搜索引擎的思路
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 零基础学小程序005---小程序登陆注册功能实现
- Android RecyclerView 复用错乱通用解法详解
- Android把Bitmap保存为PNG图像文件的简单代码
- 零基础学小程序006---小程序获取用户信息用户昵称
- Android webview 内存泄露的解决方法
- Android编程实现全局获取Context及使用Intent传递对象的方法详解
- Android App更改应用的图标的实现方法
- 零基础学小程序007---小程序获取用户openid
- Android编程中光线传感器的调用方法详解
- Android编程使用sax解析xml数据的方法详解
- 微信小程序弹出用户授权弹窗,微信小程序引导用户授权,获取位置经纬度
- Android用RecyclerView实现动态添加本地图片
- Android利用RecyclerView编写聊天界面
- 5行代码实现微信消息推送,springboot实现微信推送,java微信推送
- Android控件ListView使用方法详解