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的print用法示例
Feb 11 Python
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
详解python-图像处理(映射变换)
Mar 22 Python
提升Python程序性能的7个习惯
Apr 14 Python
python获取txt文件词向量过程详解
Jul 05 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
Oct 23 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
Mar 06 Python
Python干货实战之八音符酱小游戏全过程详解
Oct 24 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
第十节--抽象方法和抽象类
2006/11/16 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
php将金额数字转化为中文大写
2015/07/09 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
python实现自动登录后台管理系统
2018/10/18 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
Python检查ping终端的方法
2019/01/26 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
国家助学贷款承诺书
2015/04/30 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书
2016年寒假生活小结
2015/10/10 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
Django操作cookie的实现
2021/05/26 Python
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL