关视频可参考

Python3 从入门到精通视频教程

千里马:Python3 从入门到精通视频教程​zhuanlan.zhihu.com

pymysql 模块简单使用

安装 pymysql 模块

  • pip 包工具安装 pymysql 参考 https://www.runoob.com/w3cnote/python-pip-install-usage.html
  • pycharm 安装 教程

使用 pymysql 连接数据库 并插入数据

  • 数据库的写入数据流程
1.导入模块
from pymysql import connect2.Connection 对象 目的:用于建立代码与数据库的连接
创建连接对象 conn=connect(参数列表)参数host:连接的mysql主机,如果本机是'127.0.0.1'#如果不能用可以试下 host=localhost参数port:连接的mysql主机的端口,默认是3306参数database:数据库的名称参数user:连接的用户名参数password:连接的密码参数charset:通信采用的编码方式,推荐使用utf83.关闭连接 conn.close()4.提交数据 conn.commit()5.撤销数据 conn.rollback()6.通过连接获取游标 cur = conn.cursor()返回Cursor对象,用于执行sql语句并获得结果7.Cursor游标对象 目的: 执行sql语句8.获取Cursor对象 cur = conn.cursor()9.使用游标执行SQL语句 cur.execute(operation , [parameters])10.执行SQL语句,返回受影响的行数,主要用于执行insert、update、delete语句11.获取结果集中的一条 cur.fetchone() 返回一个元组 12.获取结果集中的一条 cur.fetchmany(2) 返回一个元组13.获取结果集中的所有 cur.fetchall() 执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回14.关闭游标 cur.close()

使用pymysql 插入数据

import pymysql    #导入模块
conn = pymysql.connect(host='127.0.0.1', user='root', password="318",database ='ftp')
# host=localhost #也可以写,如果127.0.0.1不能用的话#  登录数据库
cur = conn.cursor()   # 数据库操作符 游标
cur.execute('insert into employee(emp_name,sex,age,hire_date) values ("凯歌","male",40,20190808)')
#()里填 sql 语句 注意'sql语句中的""引号要与最外为的引号区分开w'
conn.commit()  #提交数据
cur.close()    #关闭游标
conn.close()   #断开数据库,释放资源

  • 通过cmd查询结果
  • 查询并获取结果
#fetchone()
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password="318", database='ftp')
cur = conn.cursor()
cur.execute('select * from employee where id > 10')
ret = cur.fetchone() #获取符合条件的第一个值的所有信息,返回结果类型为元组
print(ret)
cur.close()
conn.close()
##执行结果
(11, '丁丁', 'female', 18, datetime.date(2011, 3, 12), 'sale', None, 1000.37, 402, 2)#cur.fetchmany(数值) #()里的数值是多少,就返回几个符合条件的结果,返回结果类型为元组,
数值如果超过符合条件的的结果数量,返回会全部结果,不会报错
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password="318", database='ftp')
cur = conn.cursor()
cur.execute('select * from employee where id > 10')
ret = cur.fetchmany(2)#获取符合条件的两个结果,返回结果类型为元组
print(ret)
cur.close()
conn.close()
##执行结果
((11, '丁丁', 'female', 18, datetime.date(2011, 3, 12), 'sale', None, 1000.37, 402, 2),
(12, '星星', 'female', 18, datetime.date(2016, 5, 13), 'sale', None, 3000.29, 402, 2))#cur.fetchall()#找到所有符合条件的结果,返回结果类型为元组
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password="318", database='ftp')
cur = conn.cursor()
cur.execute('select * from employee where id > 10')
ret = cur.fetchall()
print(ret)
cur.close()
conn.close()
##执行结果
((11, '丁丁', 'female', 18, datetime.date(2011, 3, 12), 'sale', None, 1000.37, 402, 2),
(12, '星星', 'female', 18, datetime.date(2016, 5, 13), 'sale', None, 3000.29, 402, 2),
(13, '格格', 'female', 28, datetime.date(2017, 1, 27), 'sale', None, 4000.33, 402, 2),(14, '张野', 'male', 28, datetime.date(2016, 3, 11), 'operation', None, 10000.13, 403, 3),
(15, '程咬金', 'male', 18, datetime.date(1997, 3, 12), 'operation', None, 20000.0, 403, 3),
(16, '程咬银', 'female', 18, datetime.date(2013, 3, 11), 'operation', None, 19000.0, 403, 3),
(17, '程咬铜', 'male', 18, datetime.date(2015, 4, 11), 'operation', None, 18000.0, 403, 3),
(18, '程咬铁', 'female', 18, datetime.date(2014, 5, 12), 'operation', None, 17000.0, 403, 3),
(20, '凯歌', 'male', 40, datetime.date(2019, 8, 8), None, None, None, None, None))

修改查询显示结果

  • 我们拿到的结果都是元组类型,不能让我们很好的感知数据,有什么方法能让数据更直观呢?
  • cur = conn.cursor(pymysql.cursors.DictCursor)
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password="318", database='ftp')
cur = conn.cursor(pymysql.cursors.DictCursor)   #把返回结果改为,字典类型,key是字段,value是数据
cur.execute('select * from employee where id > 10')
ret = cur.fetchone()
print(ret['emp_name'], ret['sex'], ret['age'], ret)
cur.close()
conn.close()#执行结果
丁丁 female 18 {'id': 11, 'emp_name': '丁丁', 'sex': 'female', 'age': 18, 'hire_date': datetime.date(2011, 3, 12),
'post': 'sale', 'post_comment': None, 'salary': 1000.37, 'office': 402, 'depart_id': 2}

作 者:郭楷丰出 处:https://www.cnblogs.com/guokaifeng/

pymysql安装_pymysql 模块简单使用相关推荐

  1. MySQL和pymysql安装 linux ubuntu

    MySQL安装 简单3步 1. sudo apt-get install mysql-server 2. sudo apt-get install mysql-client 3. sudo apt-g ...

  2. python安装numpy模块-python的numpy模块安装不成功简单解决方法总结

    为了画个图,被numpy这个模块的安装真的折腾疯了!!!一直装不上,花了几个小时,看了网上的很多教程.方法发现总结得不是很全,这里总结一下,防止大家再出现这个问题没有解决方法. Python的魅力之一 ...

  3. python3.8安装xlwings出错_Python xlwings模块简单使用

    Python xlwings模块简单使用xlwings 安装 xlwings excel-book-打开-新建 xlwings sheet-api xlwings 操作数据 xlwings 读取数据 ...

  4. qtxlsx编译报错_Qt5安装Qxlsx模块,以及Qxlsx模块的简单使用,附资源例程下载

    文章目录 1. 未安装Qxlsx的程序效果 2. 安装Perl(编译Qxlsx源码用) 2.1 下载 `ActivePerl 5.28` 2.2 安装 `ActivePerl 5.28` 3. 下载并 ...

  5. 使用pip安装requests模块(超级简单)+ pip升级失败问题的解决

    使用pip安装requests模块(超级简单)+ pip升级失败问题的解决 参考文章: (1)使用pip安装requests模块(超级简单)+ pip升级失败问题的解决 (2)https://www. ...

  6. python numpy安装步骤-python的numpy模块安装不成功简单解决方法总结

    为了画个图,被numpy这个模块的安装真的折腾疯了!!!一直装不上,花了几个小时,看了网上的很多教程.方法发现总结得不是很全,这里总结一下,防止大家再出现这个问题没有解决方法. Python的魅力之一 ...

  7. python3安装mysql模块_python3操作MySQL的模块pymysql

    本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用. PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中 ...

  8. Node.js基础汇总(一):什么是Node.js,创建最简单的Node.js应用,NPM介绍,安装express模块

    目录 1. 什么是Node.js? 1.1 JavaScript是什么? 1.2 Node.js 是什么? 1.3 Node.js的原理 2. 创建最简单的Node.js应用 2.1 代码示例 2.2 ...

  9. python3安装setuptools步骤_简单python2.7.3安装setuptools模块

    下载setuptools https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg 安装 sh set ...

最新文章

  1. 新年之际,最新摄影必备的无人机免费送10个给大家!
  2. java如何使用水晶报表_Java操作水晶报表
  3. Laravel源码入门-启动引导过程(四)app/Http/Kernel.php
  4. 新闻文字上下滚动代码
  5. qt 在点击菜单下的动作之后获取该菜单的名称
  6. 对地图的marker 添加双击事件
  7. 在Ruby中使用&运算符(new_array- arr&old_Array)创建数组实例
  8. fullcalendar自定义搜索框_高效搜索任意文件,拯救凌乱的电脑桌面!
  9. 【榜首团队专访】冲刺复赛,他们有绝招
  10. 人工智能被拒绝,语音识别做不到给电视直播加字幕?
  11. UNIX环境高级编程之第8章:进程控制-习题
  12. 研究生学习生活日记——新生见面第一次组会
  13. linux下无线USB网卡驱动安装
  14. 心态-《当下的力量》书中的精髓:了解我们痛苦的根源,学会让自己活在当下,摆脱痛苦。
  15. 服务器防火墙有哪些功能和作用?
  16. 遇见你,是最美的意外
  17. 树与二叉树——有关n叉树的若干问题
  18. 八、MySQL 常用函数汇总(1)
  19. 高中选科策略隐私政策
  20. PID file not written; -detached was passed,安装rabbitmq启动失败

热门文章

  1. java复习系列[2] - Java多线程
  2. THML结构语义化之table/form
  3. 【BZOJ1901】Zju2112 Dynamic Rankings
  4. 【刷水】之USACO2008资格赛(Bzoj1599-1603)
  5. 关于在asp.net中的调试
  6. 石子合并(动态规划DP)
  7. CentOS7 修改设置静态IP和DNS
  8. druid数据库连接池整合到SpringMvc
  9. (转)基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览
  10. How to add jdk8 in Eclipse Indigo