pymysql模块的操作实例


Posted in Python onDecember 17, 2019

pymysql 模块!

pymysql模块时一个第三方模块!需要下载:

pymysql的基本使用:

import pymysql

conn = pymysql.connect(
  user = 'root',
  password = '123',
  host = '127.0.0.1', # ip地址
  port = 3306,    # 端口
  charset = 'utf8',
  database = 'day36_1'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 产生游标对象
# cursor=pymysql.cursors.DictCursor 将查询出来的结果制成字典的形式返回
sql = "select * from userinto"
res = cursor.execute(sql) #执行sql语句

res = cursor.fetchone() # 打印一条数据
res = cursor.fetchall() # 可以打印里面的所有数据
res = cursor.fetchmany(2)  #制定获取几条数据,如果数字超了也不报错

print(res)

cursor.scroll(2, 'relative') #相对移动 , 基于指针所在位置, 往后偏移

cursor.scroll(3, 'absolute') #绝对移动,基于起始位置往后偏移

print(cursor.fetchall())

我们可以通过python导入模块来连接数据库,进行登陆注册功能,在使用时sql会遇到注入问题

sql注入问题 利用特殊符号和注释语法 巧妙的绕过真正的sql校验,是用户数据不安全
关键性的数据 不要自己手动去拼接 而是交由execute帮你去做拼接

import pymysql

conn = pymysql.connect(
  user = 'root' ,
  password = '123',
  host = '127.0.0.1',
  port = 3306,
  database = 'day36_1',
  charset = 'utf8'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

#获取用户名和密码,然后取数据库中校验
username = input('username>>>:').strip()
password = input('password>>>:').strip()
sql = "select * from userinto where name=%s and password=%s"
print(sql)
cursor.execute(sql, (username, password)) #交由execute帮你去做拼接,解决注入问题
res = cursor.fetchall()

if res:
  print(res)
else:
  print('username or password error!')

我们也可以利用pycharm来操作数据库文件的增删改查!

针对增 删 改操作 执行重要程度偏高

你如果真想操作 必须有一步确认操作(commit)

import pymysql
conn = pymysql.connect(
  user = 'root',
  passwd = '123456',
  db = 'day36',
  host = '127.0.0.1',
  port = 3306,
  charset = 'utf8',
  autocommit = True # 自动提交确认
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# #查: 获取用户输入的用户名和密码 然后取数据库中校验
# username = input('username>>>:').strip()
# password = input('password>>>:').strip()
# # sql = "select * from userinfo where name='%s' and password= '%s'"%(username,password)
# sql = "select * from userinfo where name=%s and password= %s"
# print(sql)

# 增
sql = "insert into userinfo(name,password,dep_id) values('jason',789,1)"
# 改
# sql = "update userinfo set name='egondsb' where id = 6"
# 删除
# sql = "delete from userinfo where id= 1"
res = cursor.execute(sql)
# conn.commit() # 确认当前操作 真正的同步到数据库
print(res)

以上就是相关知识点内容,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
Python检测字符串中是否包含某字符集合中的字符
May 21 Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
Python实现PS滤镜中马赛克效果示例
Jan 20 Python
Python实现PS图像明亮度调整效果示例
Jan 23 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
pd.DataFrame统计各列数值多少的实例
Dec 05 Python
Python select及selectors模块概念用法详解
Jun 22 Python
numpy中生成随机数的几种常用函数(小结)
Aug 18 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 Python
Django异步任务线程池实现原理
Dec 17 #Python
python 求10个数的平均数实例
Dec 16 #Python
python 经典数字滤波实例
Dec 16 #Python
Python实现把类当做字典来访问
Dec 16 #Python
python中p-value的实现方式
Dec 16 #Python
基于python读取.mat文件并取出信息
Dec 16 #Python
python基于plotly实现画饼状图代码实例
Dec 16 #Python
You might like
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
JS实现留言板功能
2017/06/17 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
python函数参数*args**kwargs用法实例
2013/12/04 Python
python with statement 进行文件操作指南
2014/08/22 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
Python装饰器用法实例总结
2018/05/26 Python
详解Python如何生成词云的方法
2018/06/01 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
Django用户身份验证完成示例代码
2020/04/03 Python
Python安装Bs4的多种方法
2020/11/28 Python
python中pyqtgraph知识点总结
2021/01/26 Python
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
广告创意求职信
2014/03/17 职场文书
服务承诺书格式
2014/05/21 职场文书
小学班级管理心得体会
2016/01/07 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
pytorch fine-tune 预训练的模型操作
2021/06/03 Python