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实现从URL地址提取文件名的方法
May 15 Python
举例详解Python中threading模块的几个常用方法
Jun 18 Python
Django中对数据查询结果进行排序的方法
Jul 17 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
Python编程实现粒子群算法(PSO)详解
Nov 13 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
对Django的restful用法详解(自带的增删改查)
Aug 28 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
May 15 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
Jun 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 header下载函数
2014/01/31 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
mac下多个php版本快速切换的方法
2016/10/09 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
Python实现队列的方法
2015/05/26 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
python主线程捕获子线程的方法
2018/06/17 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
Django xadmin安装及使用详解
2020/10/26 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
总经理驾驶员岗位职责
2013/12/04 职场文书
送餐员岗位职责范本
2014/02/21 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
工作作风承诺书
2014/08/30 职场文书
孔繁森观后感
2015/06/10 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
Python图片处理之图片裁剪教程
2021/05/27 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python