由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 pymysql 模块。

pymysql 模块可以通过 pip 安装。但如果你使用的是 pycharm IDE,则可以使用 project python 安装第三方模块。

[File] >> [settings] >> [Project: python] >> [Project Interpreter] >> [Install按钮]

由于Python统一了数据库连接的接口,所以 pymysql 和 MySQLdb 在使用方式上是类似的:

pymysql.Connect()参数说明host(str): MySQL服务器地址port(int): MySQL服务器端口号user(str): 用户名passwd(str): 密码db(str): 数据库名称charset(str): 连接编码connection对象支持的方法cursor() 使用该连接创建并返回游标commit() 提交当前事务rollback() 回滚当前事务close() 关闭连接cursor对象支持的方法execute(op) 执行一个数据库的查询命令fetchone() 取得结果集的下一行fetchmany(size) 获取结果集的下几行fetchall() 获取结果集中的所有行rowcount() 返回数据条数或影响行数close() 关闭游标对象

==================MySQL===================

首先在连接数据库之前,先创建一个交易表,方便测试 pymysql 的功能:

DROP TABLE IF EXISTS `trade`;CREATE TABLE `trade` ( `id` int(4) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(6) NOT NULL COMMENT '用户真实姓名', `account` varchar(11) NOT NULL COMMENT '银行储蓄账号', `saving` decimal(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '账户储蓄金额', `expend` decimal(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '账户支出总计', `income` decimal(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '账户收入总计', PRIMARY KEY (`id`), UNIQUE KEY `name_UNIQUE` (`name`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;INSERT INTO `trade` VALUES (1,'乔布斯','18012345678',0.00,0.00,0.00);

==================Python===================

使用Python脚本实现增删改查和事务处理,源码如下:

import pymysql.cursors# 连接数据库connect = pymysql.Connect( host='localhost', port=3310, user='woider', passwd='3243', db='python', charset='utf8')# 获取游标cursor = connect.cursor()# 插入数据sql = "INSERT INTO trade (name, account, saving) VALUES ( '%s', '%s', %.2f )"data = ('雷军', '13512345678', 10000)cursor.execute(sql % data)connect.commit()print('成功插入', cursor.rowcount, '条数据')# 修改数据sql = "UPDATE trade SET saving = %.2f WHERE account = '%s' "data = (8888, '13512345678')cursor.execute(sql % data)connect.commit()print('成功修改', cursor.rowcount, '条数据')# 查询数据sql = "SELECT name,saving FROM trade WHERE account = '%s' "data = ('13512345678',)cursor.execute(sql % data)for row in cursor.fetchall(): print("Name:%s\tSaving:%.2f" % row)print('共查找出', cursor.rowcount, '条数据')# 删除数据sql = "DELETE FROM trade WHERE account = '%s' LIMIT %d"data = ('13512345678', 1)cursor.execute(sql % data)connect.commit()print('成功删除', cursor.rowcount, '条数据')# 事务处理sql_1 = "UPDATE trade SET saving = saving + 1000 WHERE account = '18012345678' "sql_2 = "UPDATE trade SET expend = expend + 1000 WHERE account = '18012345678' "sql_3 = "UPDATE trade SET income = income + 2000 WHERE account = '18012345678' "try: cursor.execute(sql_1) # 储蓄增加1000 cursor.execute(sql_2) # 支出增加1000 cursor.execute(sql_3) # 收入增加2000except Exception as e: connect.rollback() # 事务回滚 print('事务处理失败', e)else: connect.commit() # 事务提交 print('事务处理成功', cursor.rowcount)# 关闭连接cursor.close()connect.close()

==================测试结果===================

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

觉得不错,点个“在看”然后转发出去

python3 获取file大小_Python 3.x 连接数据库(pymysql 方式),程序员必备知识点相关推荐

  1. python3 获取file大小_Go语言 | 你还在这样获取文件的大小吗?

    在项目中,我们可能会需要获取一个文件的大小,在Golang(Go语言)中,有很多方法来获取一个文件的大小,看看你是否还在用最慢的方式. Read字节方式 第一种,是最直观会想到的,也就是打开文件,把文 ...

  2. google浏览器插件 开发 获取页面指定数据_程序员必备的4款Chrome插件,编程神器...

    一直有粉丝留言,想要大侠推荐几款程序员使用的插件,大侠特意去问了隔壁的程序员哥哥,终于被我问出了这4款编程神器!这4款插件不仅仅是提高效率那么简单哦,还可以让你的Chrome浏览器变得高端大气,一起来 ...

  3. 生日快乐程序员的浪漫代码_python告白代码,只属于程序员的浪漫

    不知何时,不知何因,程序员这个行业成为大家茶余饭后取乐的无辜群体.只要说到程序员,脑海中就浮现出刻板印象,标配穿搭:格子衫,牛仔裤,黑框眼镜.当然秃顶也是必须的,更狠的吐槽还有邋里邋遢,不懂浪漫,不知 ...

  4. python计算机代码_python告白代码,只属于程序员的浪漫

    不知何时,不知何因,程序员这个行业成为大家茶余饭后取乐的无辜群体.只要说到程序员,脑海中就浮现出刻板印象,标配穿搭:格子衫,牛仔裤,黑框眼镜.当然秃顶也是必须的,更狠的吐槽还有邋里邋遢,不懂浪漫,不知 ...

  5. 告别“大小周”、回到二三线,程序员“内卷”时代终结?

    作者 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 相信许多人都有这样一种感觉:工作之后,对于时间的概念似乎减弱了,只会在恍惚间瞄到日历,才惊觉:一年竟又已临近尾声. 这一年,我们见证了许 ...

  6. 程序员必备技能之掌握 Get、Post 请求:传参、获取参数

    很多工作了3~5年的程序员,还没掌握好 Get.Post 请求.本篇博客以 SpringBoot 项目为基础,希望能帮到很多程序员. Get 请求 说明:@GetMapping("/getI ...

  7. python tkinter获取屏幕大小_Python使用鼠标滚轮调整tkinter应用程序窗口大小

    图书推荐:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情:用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系统等配套 ...

  8. python tkinter获取屏幕大小_Python GUI编程|使用Tkinter制作快递查询软件

    GUI(图形用户界面)想必大家都不陌生,简单来说就是将代码变成可以交互式操作的界面.在Python中就提供了多个图形开发界面的库,比如Tkinter.wxPython.Jython等,本文将使用Tki ...

  9. python tkinter获取屏幕大小_Python开发GUI工具介绍,实战:将图片转化为素描画

    python开发GUI tkinter 也许有些人不知道这个模块,但如果你安装python后,使用过自带的IDLE,那么你就应该了解它.tkinter作为python自带的GUI模块,IDLE便是通过 ...

最新文章

  1. 给定一个 n X n 的矩阵 和 R,求旋转 90 X R 度以后的矩阵
  2. 全城瘫痪!因韩国电信公司大火 首尔陷断网危机
  3. tensorflow综合示例5:图象分割
  4. 《疯狂Java讲义精粹》读书笔记2 ------ 多态
  5. 计算机网络(十三)-数据链路层-动态分配信道
  6. 322. 零钱兑换(JavaScript)
  7. hplus--H+ V2.3 (中文版)
  8. 【OEIS】Xor Sum AtCoder2272
  9. Vagrant设置局域网访问
  10. 【JDBC】JDBC入门汇总及范例讲解
  11. 【CSDN软件工程师能力认证学习精选】SQL语句查询
  12. 苹果怎么把某个app隐藏_怎么给苹果手机APP加密?
  13. 【数据报表中心】强大的迈安2019年大数据分析有哪些工具
  14. 安卓手机主题软件_安卓手机赚钱软件
  15. 第十二届noc网络机器人赛项成绩_我省在第十二届中小学NOC活动决赛中获佳绩
  16. 美国eb1a移民费用有哪些
  17. HY68 RGB DM蓝牙5.2双模热插拔PCB
  18. CertBot 更新证书失败解决
  19. Delphi/VisualJ++/.NET/C#之父-Anders Hejlsberg
  20. 华硕灵焕3装鸿蒙系统,EMUI 10系统公布、鸿蒙OS 1.0现身,华为隐藏实力终于要爆发了...

热门文章

  1. python多继承顺序_Python多继承以及MRO顺序的使用
  2. python基础题面试_python常见面试题
  3. 深入浅出设计模式原则之开闭原则(OCP)
  4. Linux(Ubuntu,Cent OS)环境安装mkfontscale mkfontdir命令以及中文字库
  5. java数组-如何在一堆数据中使用数组!
  6. Spring Cloud Config 加密和解密
  7. WCF中的Stream操作
  8. python笔记第二天
  9. 企业信息管理- 近期功能改善(3)
  10. 多线程调用同一个方法,局部变量会共享吗