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翻译软件实现代码(使用google api完成)
Nov 26 Python
python使用socket远程连接错误处理方法
Apr 29 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
wxpython实现图书管理系统
Mar 12 Python
pandas 选择某几列的方法
Jul 03 Python
Python递归函数 二分查找算法实现解析
Aug 12 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
Feb 17 Python
Python 实现键盘鼠标按键模拟
Nov 18 Python
Python用SSH连接到网络设备
Feb 18 Python
python实现三次密码验证的示例
Apr 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
Windows下的PHP安装pear教程
2014/10/24 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
为Yahoo! UI Extensions Grid增加内置的可编辑器
2007/03/10 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
简单谈谈json跨域
2016/03/13 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
35个Python编程小技巧
2014/04/01 Python
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
八大排序算法的Python实现
2021/01/28 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
pycharm安装及如何导入numpy
2020/04/03 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
教师应聘个人求职信
2013/12/10 职场文书
教师年度考核自我鉴定
2014/01/19 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
测试工程师职业规划书
2014/02/06 职场文书
人资专员岗位职责
2014/04/04 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python
php解析非标准json、非规范json的方式实例
2022/05/10 PHP