pymysql模块的使用
一.基本用法:
1 import pymysql 2 3 username = input('请输入用户名:') 4 pwd = input('请输入密码:') 5 6 # 建立连接 7 conn = pymysql.connect( 8 host='localhost', 9 user='root', 10 password="", 11 database='db13', 12 port=3306, 13 charset='utf8' 14 ) 15 # 创建游标 16 cur = conn.cursor() 17 sql = 'select * from userinfo where name="%s" and pwd="%s"'%(username,pwd) 18 print(sql) 19 20 res = cur.execute(sql) 21 print(res) 22 23 # 游标关闭 连接关闭 24 cur.close() 25 conn.close() 26 27 28 if res: 29 print('登录成功') 30 else : 31 print('登录失败')
View Code
增丶删丶改:conn.commit()
conn.commit() 在数据库增,删,改的时候,必须要进行提交,否则插入数据不生效
1 import pymysql 2 username = input('请输入用户名:') 3 4 pwd = input('请输入密码:') 5 6 7 8 # 1.连接 9 conn = pymysql.connect(host='localhost', port=3306, user='root', password='', db='db8', charset='utf8') 10 11 12 # 2.创建游标 13 cursor = conn.cursor() 14 15 16 # 操作 17 # 增 18 # sql = "insert into userinfo(username,pwd) values (%s,%s)" 19 20 21 # effect_row = cursor.execute(sql,(username,pwd)) 22 #同时插入多条数据 23 #cursor.executemany(sql,[('李四','110'),('王五','119')]) 24 25 # print(effect_row)# 26 27 # 改 28 # sql = "update userinfo set username = %s where id = 2" 29 # effect_row = cursor.execute(sql,username) 30 # print(effect_row) 31 32 33 # 删 34 sql = "delete from userinfo where id = 2" 35 effect_row = cursor.execute(sql) 36 print(effect_row) 37 38 39 #一定记得commit 40 conn.commit() 41 42 # 4.关闭游标 43 cursor.close() 44 45 # 5.关闭连接 46 conn.close()
View Code
查:
--fetchone():获取下一行数据,第一次为首行
1 import pymysql 2 3 # 1.连接 4 conn = pymysql.connect(host='localhost', port=3306, user='root', password='', db='db8', charset='utf8') 5 6 7 # 2.创建游标 8 cursor = conn.cursor() 9 10 sql = 'select * from userinfo' 11 cursor.execute(sql) 12 13 14 # 查询第一行的数据 15 row = cursor.fetchone() 16 print(row) # (1, 'mjj', '123') 17 18 # 查询第二行数据 19 row = cursor.fetchone() 20 print(row) # (3, '张三', '110') 21 22 # 4.关闭游标 23 cursor.close() 24 25 # 5.关闭连接 26 conn.close()
View Code
--fetchall(4):获取4行数据
1 import pymysql 2 3 # 1.连接 4 conn = pymysql.connect(host='localhost', port=3306, user='root', password='', db='db8', charset='utf8') 5 6 7 # 2.创建游标 8 cursor = conn.cursor() 9 10 sql = 'select * from userinfo' 11 cursor.execute(sql) 12 13 # 获取所有的数据 14 rows = cursor.fetchall() 15 print(rows) 16 17 # 4.关闭游标 18 cursor.close() 19 20 # 5.关闭连接 21 conn.close() 22 23 #运行结果 24 ((1, 'mjj', '123'), (3, '张三', '110'), (4, '李四', '119'))
View Code
默认情况下,我们获取到的返回值是元组,只能看到每行数据源,这个时候可以使用一下方式来返回字典,每一行的数据都会生成一个字典
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #在实例化的时候,将属性cursor设置为pymysql.cursors.DictCursor
另外,还可以使用如下方式来移动行指针:
cursor.scroll(1,mode='relative') # 相对当前位置移动 cursor.scroll(2,mode='absolute') # 相对绝对位置移动 第一个值为移动的行数,整数为向下移动,负数为向上移动,mode指定了是相对当前位置移动,还是相对于首行移动
1 # 1.Python实现用户登录 2 # 2.Mysql保存数据 3 4 import pymysql 5 6 # 1.连接 7 conn = pymysql.connect(host='localhost', port=3306, user='root', password='', db='db8', charset='utf8') 8 9 10 # 2.创建游标 11 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) 12 13 sql = 'select * from userinfo' 14 cursor.execute(sql) 15 16 17 # 查询第一行的数据 18 row = cursor.fetchone() 19 print(row) # (1, 'mjj', '123') 20 21 # 查询第二行数据 22 row = cursor.fetchone() # (3, '张三', '110') 23 print(row) 24 25 cursor.scroll(-1,mode='relative') #设置之后,光标相对于当前位置往前移动了一行,所以打印的结果为第二行的数据 26 row = cursor.fetchone() 27 print(row) 28 29 cursor.scroll(0,mode='absolute') #设置之后,光标相对于首行没有任何变化,所以打印的结果为第一行数据 30 row = cursor.fetchone() 31 print(row) 32 33 # 4.关闭游标 34 cursor.close() 35 36 # 5.关闭连接 37 conn.close() 38 39 #结果如下 40 41 {'id': 1, 'username': 'mjj', 'pwd': '123'} 42 {'id': 3, 'username': '张三', 'pwd': '110'} 43 {'id': 3, 'username': '张三', 'pwd': '110'} 44 {'id': 1, 'username': 'mjj', 'pwd': '123'}
View Code
--fetchmany():获取所有行数据源
1 import pymysql 2 3 # 1.连接 4 conn = pymysql.connect(host='localhost', port=3306, user='root', password='', db='db8', charset='utf8') 5 6 7 # 2.创建游标 8 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) 9 10 sql = 'select * from userinfo' 11 cursor.execute(sql) 12 13 14 15 # 获取2条数据 16 rows = cursor.fetchmany(2) 17 print(rows) 18 19 # 4.关闭游标 20 21 # rows = cursor.fetchall() 22 # print(rows) 23 cursor.close() 24 25 # 5.关闭连接 26 conn.close() 27 28 #结果如下: 29 [{'id': 1, 'username': 'mjj', 'pwd': '123'}, {'id': 3, 'username': '张三', 'pwd': '110'}]
View Code
转载于:https://www.cnblogs.com/lzmdbk/p/9810948.html
pymysql模块的使用相关推荐
- MySQL之pymysql模块
PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQL数 ...
- mysql七个模块_mysql(pymysql模块的使用,视图,触发器)
本节重点: pymysql的下载和使用 execute()之sql注入 增.删.改:conn.commit() 查:fetchone.fetchmany.fetchall 一.pymysql的下载和使 ...
- Mysql: pymysql 模块
import pymysql #导入pymysql模块client=pymysql.connect( #与服务端建立连接 host='127.0.0.1', port=3306, user='root ...
- 5.15 pymysql 模块
pymysql 模块 安装 pip3 install pymysql 链接,执行sql,关闭(游标) import pymysql user= input('用户名:>>').strip( ...
- pymysql模块操作数据库及连接报错解决方法
pymysql模块操作数据库及连接报错解决方法 参考文章: (1)pymysql模块操作数据库及连接报错解决方法 (2)https://www.cnblogs.com/zgngg/p/10607859 ...
- Navicat工具、pymysql模块
Navicat工具.pymysql模块 阅读目录 一 IDE工具介绍 二 pymysql模块 一 IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用I ...
- 利用PyMySQL模块操作数据库
连接到数据库 import pymysql # 创建链接得到一个链接对象 conn = pymysql.Connect(host="127.0.0.1", # 数据库服务器主机地址 ...
- 权限管理,pymysql模块
权限管理 权限管理重点 MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL ...
- MySQL -Naivacat工具与pymysql模块
Navicat 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库. 官网下载:https ...
- mysql用户管理+pymysql模块
mysql 用户管理 Mysql 是一个tcp 服务器 用于接收用户端发送的指令,操作服务器上的文件数据 在mysql自带的mysql数据库中有4个表用于用户管理的 分别是: 优先级从高到低 user ...
最新文章
- 进程控制概念简介 多线程上篇(三)
- 状态机系列学习笔记01
- EF6学习笔记五:继承三策略
- python操作Excel读写--使用xlrd
- UML 类图几种关系的总结
- 花旗看好互联网板块 力荐Facebook等5支网络股
- 常见的C语言字符串操作
- 第13届年度Webby奖采用Silverlight / 13th Annual Webby Awards powered by Silverlight
- 前端会有什么新的变化
- OTA时代来了!由新一代私有云揭开序幕
- 苹果开发者账号分类详解
- Java程序设计基础笔记 • 【第1章 初识Java】
- 记忆GRE词汇三大原则
- linux通过无线网卡上网,Linux使用4G/5G无线网卡模块上网
- 资深黄金专家李鑫:独创7套算点理论震惊市场
- Unity 场景光照出现问题
- VBA入门到进阶常用知识代码总结47
- 基于python的IDW插值方法(一)
- 现场快递柜状态采集与控制系统
- python 读取csv某一列_Python 读取csv的某列
热门文章
- java unsafe 详解_Java CAS操作与Unsafe类详解
- php 访问url curl,推荐PHP一个用CURL访问URL的函数
- SpringSecurity Exceptions
- pytorch torch.triu
- opencv 轮廓层次结构
- bracket 教程
- java createchannel_【原创】java NIO FileChannel 学习笔记 新建一个FileChannel
- 怎么让照片变年轻_女生都想要变年轻,但是应该怎么做呐?其实有了背带裤就可以搞定...
- mysql事务与锁_mysql之事务和锁
- 智慧工厂平台整体结局方案