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抓取网页图片并放到指定文件夹
Apr 24 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 Python
HTML中使用python屏蔽一些基本功能的方法
Jul 07 Python
TensorFlow安装及jupyter notebook配置方法
Sep 08 Python
Python 对输入的数字进行排序的方法
Jun 23 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
python简单实现9宫格图片实例
Sep 03 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 Python
python必学知识之文件操作(建议收藏)
May 30 Python
Python趣味挑战之教你用pygame画进度条
May 31 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的中问验证码
2006/11/25 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
JavaScript数据类型学习笔记分享
2016/09/01 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
详细分析Node.js 模块系统
2020/06/28 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
什么是python的必选参数
2020/06/21 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
HTML5应用之文件上传
2016/12/30 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
android面试问题与答案
2016/12/27 面试题
如何利用cmp命令比较文件
2013/09/23 面试题
理工大学毕业生自荐信
2013/11/01 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
教师年度考核自我鉴定
2014/01/19 职场文书
银行员工职业规划范文
2014/01/21 职场文书
火锅店创业计划书范文
2014/02/02 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS