全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python 3.x 连接数据库示例(pymysql 方式)

由于 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) # 收入增加2000
except Exception as e:
  connect.rollback() # 事务回滚
  print('事务处理失败', e)
else:
  connect.commit() # 事务提交
  print('事务处理成功', cursor.rowcount)

# 关闭连接
cursor.close()
connect.close()

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# pymysql连接数据库  # python3  # 连接数据库  # python  # 连mysql数据库  # python使用mysqldb连接数据库操作方法示例详解  # python连接数据库的方法  # Python连接数据库学习之DB-API详解  # python mysqldb连接数据库  # 跟老齐学Python之通过Python连接数据库  # Python使用sqlalchemy模块连接数据库操作示例  # 学习python之编写简单简单连接数据库并执行查询操作  # Python使用Flask-SQLAlchemy连接数据库操作示例  # 解决python3 Pycharm上连接数据库时报错的问题  # Python与数据库交互:入门指南  # 事务处理  # 的是  # 如果你  # 还不  # 可以通过  # 则可  # 第三方  # 创建一个  # 真实姓名  # 大家多多  # 条数  # 端口号  # 几行  # 行数  # 一了  # 乔布斯  # 易表  # cursor  # commit 


相关文章: 青浦网站制作公司有哪些,苹果官网发货地是哪里?  香港服务器租用费用高吗?如何避免常见误区?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  广东专业制作网站有哪些,广东省能源集团有限公司官网?  代刷网站制作软件,别人代刷火车票靠谱吗?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星安装路径如何正确选择及配置?  建站DNS解析失败?如何正确配置域名服务器?  网站制作公司排行榜,抖音怎样做个人官方网站  网站制作软件有哪些,制图软件有哪些?  潮流网站制作头像软件下载,适合母子的网名有哪些?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  ,购物网站怎么盈利呢?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何选择高效稳定的ISP建站解决方案?  网站制作模板下载什么软件,ppt模板免费下载网站?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何注册花生壳免费域名并搭建个人网站?  IOS倒计时设置UIButton标题title的抖动问题  如何在IIS7上新建站点并设置安全权限?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  如何用西部建站助手快速创建专业网站?  ppt制作免费网站有哪些,ppt模板免费下载网站?  网站制作壁纸教程视频,电脑壁纸网站?  ,网页ppt怎么弄成自己的ppt?  如何在企业微信快速生成手机电脑官网?  ,怎么用自己头像做动态表情包?  如何批量查询域名的建站时间记录?  如何快速生成高效建站系统源代码?  临沂网站制作企业,临沂第三中学官方网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何选择最佳自助建站系统?快速指南解析优劣  实例解析Array和String方法  如何快速上传建站程序避免常见错误?  个人摄影网站制作流程,摄影爱好者都去什么网站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  电商网站制作公司有哪些,1688网是什么意思?  建站主机CVM配置优化、SEO策略与性能提升指南  建站之星北京办公室:智能建站系统与小程序生成方案解析  高性能网站服务器部署指南:稳定运行与安全配置优化方案  建站之星如何实现五合一智能建站与营销推广?  建站之星如何配置系统实现高效建站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。