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爬虫实现(伪)球迷速成
Jun 10 Python
python编程使用协程并发的优缺点
Sep 20 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
pywinauto自动化操作记事本
Aug 26 Python
python+opencv边缘提取与各函数参数解析
Mar 09 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
Python的轻量级ORM框架peewee使用教程
Feb 05 Python
Python爬虫之爬取二手房信息
Apr 27 Python
Python中time标准库的使用教程
Apr 13 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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
php利用header函数下载各种文件
2016/08/24 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
tensorflow学习笔记之mnist的卷积神经网络实例
2018/04/15 Python
Django之PopUp的具体实现方法
2019/08/31 Python
python实现按日期归档文件
2021/01/30 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
初中作文评语大全
2014/04/23 职场文书
婚纱店策划方案
2014/05/22 职场文书
企业法人授权委托书
2014/09/25 职场文书
会议欢迎词范文
2015/01/27 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
python程序的组织结构详解
2021/12/06 Python