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使用paramiko模块实现ssh远程登陆上传文件并执行
Jan 27 Python
python3.3实现乘法表示例
Feb 07 Python
Python多线程编程(三):threading.Thread类的重要函数和方法
Apr 05 Python
Python3.6安装及引入Requests库的实现方法
Jan 24 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
Python安装OpenCV的示例代码
Mar 05 Python
python实现逢七拍腿小游戏的思路详解
May 26 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
python中加背景音乐如何操作
Jul 19 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 Python
matplotlib之pyplot模块实现添加子图subplot的使用
Apr 25 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中使用Oracle数据库(5)
2006/10/09 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
php页面缓存方法小结
2015/01/10 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
vue实现简易计算器功能
2021/01/20 Vue.js
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
Python入门教程之if语句的用法
2015/05/14 Python
更新修改后的Python模块方法
2019/03/03 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
python操作yaml说明
2020/04/08 Python
django使用JWT保存用户登录信息
2020/04/22 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
十八届三中全会学习方案
2014/02/16 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
党组织公开承诺书
2014/03/29 职场文书
排球赛新闻稿
2015/07/17 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL