一.基本用法:

 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模块的使用相关推荐

  1. MySQL之pymysql模块

    PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQL数 ...

  2. mysql七个模块_mysql(pymysql模块的使用,视图,触发器)

    本节重点: pymysql的下载和使用 execute()之sql注入 增.删.改:conn.commit() 查:fetchone.fetchmany.fetchall 一.pymysql的下载和使 ...

  3. Mysql: pymysql 模块

    import pymysql #导入pymysql模块client=pymysql.connect( #与服务端建立连接 host='127.0.0.1', port=3306, user='root ...

  4. 5.15 pymysql 模块

    pymysql 模块 安装 pip3 install pymysql 链接,执行sql,关闭(游标) import pymysql user= input('用户名:>>').strip( ...

  5. pymysql模块操作数据库及连接报错解决方法

    pymysql模块操作数据库及连接报错解决方法 参考文章: (1)pymysql模块操作数据库及连接报错解决方法 (2)https://www.cnblogs.com/zgngg/p/10607859 ...

  6. Navicat工具、pymysql模块

    Navicat工具.pymysql模块 阅读目录 一 IDE工具介绍 二 pymysql模块 一 IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用I ...

  7. 利用PyMySQL模块操作数据库

    连接到数据库 import pymysql # 创建链接得到一个链接对象 conn = pymysql.Connect(host="127.0.0.1", # 数据库服务器主机地址 ...

  8. 权限管理,pymysql模块

    权限管理 权限管理重点 MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL ...

  9. MySQL -Naivacat工具与pymysql模块

    Navicat 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库. 官网下载:https ...

  10. mysql用户管理+pymysql模块

    mysql 用户管理 Mysql 是一个tcp 服务器 用于接收用户端发送的指令,操作服务器上的文件数据 在mysql自带的mysql数据库中有4个表用于用户管理的 分别是: 优先级从高到低 user ...

最新文章

  1. 进程控制概念简介 多线程上篇(三)
  2. 状态机系列学习笔记01
  3. EF6学习笔记五:继承三策略
  4. python操作Excel读写--使用xlrd
  5. UML 类图几种关系的总结
  6. 花旗看好互联网板块 力荐Facebook等5支网络股
  7. 常见的C语言字符串操作
  8. 第13届年度Webby奖采用Silverlight / 13th Annual Webby Awards powered by Silverlight
  9. 前端会有什么新的变化
  10. OTA时代来了!由新一代私有云揭开序幕
  11. 苹果开发者账号分类详解
  12. Java程序设计基础笔记 • 【第1章 初识Java】
  13. 记忆GRE词汇三大原则
  14. linux通过无线网卡上网,Linux使用4G/5G无线网卡模块上网
  15. 资深黄金专家李鑫:独创7套算点理论震惊市场
  16. Unity 场景光照出现问题
  17. VBA入门到进阶常用知识代码总结47
  18. 基于python的IDW插值方法(一)
  19. 现场快递柜状态采集与控制系统
  20. python 读取csv某一列_Python 读取csv的某列

热门文章

  1. java unsafe 详解_Java CAS操作与Unsafe类详解
  2. php 访问url curl,推荐PHP一个用CURL访问URL的函数
  3. SpringSecurity Exceptions
  4. pytorch torch.triu
  5. opencv 轮廓层次结构
  6. bracket 教程
  7. java createchannel_【原创】java NIO FileChannel 学习笔记 新建一个FileChannel
  8. 怎么让照片变年轻_女生都想要变年轻,但是应该怎么做呐?其实有了背带裤就可以搞定...
  9. mysql事务与锁_mysql之事务和锁
  10. 智慧工厂平台整体结局方案