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脚本生成Android SALT扰码的方法
Sep 18 Python
本地文件上传到七牛云服务器示例(七牛云存储)
Jan 11 Python
Python实现代码统计工具(终极篇)
Jul 04 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
Jan 31 Python
VSCode下好用的Python插件及配置
Apr 06 Python
python实现俄罗斯方块
Jun 26 Python
Python定义一个跨越多行的字符串的多种方法小结
Jul 19 Python
python仿抖音表白神器
Apr 08 Python
Pandas的read_csv函数参数分析详解
Jul 02 Python
python opencv 实现对图像边缘扩充
Jan 19 Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 Python
Python基于字典实现switch case函数调用
Jul 22 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中文分词的简单实现代码分享
2011/07/17 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
PHP7 新增功能
2021/03/09 PHP
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[11:44]Ti9 OG夺冠时刻
2019/08/25 DOTA
python运行时间的几种方法
2016/06/17 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
百日安全生产活动总结
2014/07/05 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
医德医风自我评价2015
2015/03/03 职场文书
机械生产实习心得体会
2016/01/22 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
Python基础学习之奇异的GUI对话框
2021/05/27 Python
MongoDB 常用的crud操作语句
2021/06/20 MongoDB
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技