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读写excel的方法
Nov 18 Python
python中split方法用法分析
Apr 17 Python
详解Python中映射类型(字典)操作符的概念和使用
Aug 19 Python
Scrapy-redis爬虫分布式爬取的分析和实现
Feb 07 Python
深入解答关于Python的11道基本面试题
Apr 01 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
Python的历史与优缺点整理
May 26 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
基于selenium及python实现下拉选项定位select
Jul 22 Python
python 如何引入协程和原理分析
Nov 30 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
Python如何配置环境变量详解
May 18 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中array_merge与array+array的区别
2013/06/21 PHP
php中session与cookie的比较
2015/01/27 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
mongodb和php的用法详解
2019/03/25 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
jQuery中读取json文件示例代码
2013/05/10 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
基于对象合并功能的实现示例
2017/10/10 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
玩转python爬虫之cookie使用方法
2016/02/17 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
Django ModelForm操作及验证方式
2020/03/30 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
如何用Python 加密文件
2020/09/10 Python
python爬虫基础之urllib的使用
2020/12/31 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
高二物理教学反思
2014/02/08 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
大一新生检讨书
2014/10/29 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
用Python创建简易网站图文教程
2021/06/11 Python