由于 MySQLdb 模块还不支持 Python3.x,官方的Mysql连接包只支持到3.4,所以 Python3.5 如果想连接MySQL需要安装 pymysql 模块。

pymysql 模块可以通过 pip 安装。

由于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()

python3.5 mysql 库_Python 3.5 连接Mysql数据库(pymysql 方式)相关推荐

  1. php mysql odbc_javascript连接mysql与php通过odbc连接任意数据库的实例

    脑洞大开用javascript链接mysql,2个小时总算实现了,用到了odbc,后面又想到用php链接odbc链接数据库,也实现了,就把案例放一下. 注意事项: 1.javascript连接mysq ...

  2. qt5.8连接mysql代码_qt5.8如何连接mysql

    qt5.8连接mysql的方法:首先编译生成mysql的驱动:然后下载"libmysql.dll"库,并将其放在Qt的bin文件夹下:最后创建连接代码文件进行测试即可. 推荐:&l ...

  3. ef6 mysql code first_使用EntityFramework6连接MySql数据库(code first方式)

    demo托管地址:http://git.oschina.net/uustudy/ASP.NET-CodeFirst-MySQL-Demo.git 首先和DB First那篇文章一样,准备工具都要一样的 ...

  4. mysql 遗失对主机的连接,MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)...

    MySQL远程连接丢失问题解决方法(Lost connection to MySQL server) 最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦. 远程连接 ...

  5. java连接MySQL几种方法_Java连接MySQL数据库三种方法

    好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...

  6. wdcp mysql密码_WDCP提示无法连接mysql及创建站点提示mysql密码不正确

    一.wdcp系统访问提示无法连接mysql 1.可能是mysql服务没启动,首先ssh登陆服务器,然后执行service mysqld restart重启mysql再访问试下,如果无法启动,先用df  ...

  7. mysql跳过安全_Navicat连接MySQL数据库

    前言: 在使用Gin架构搭建博客的时候,需要设计数据库,以及连接数据库.命令端口操控效率实在是太低且不好管理,这个时候使用Navicat就能轻松高效的使用数据库了. 步骤: 下载安装Navicat,M ...

  8. 不能连接本地数据库mysql_win7系统下mysql或sqlserver显示无法连接本地数据库如何解决...

    最近有win7系统用户在使用数据的时候可能会遇到一些问题,比如有时候会遇到mysql或sqlserver显示无法连接本地数据库的情况,经过分析可能是相关服务没有开启,本教程就给大家带来win7系统下m ...

  9. MYSQL闪退及DBeaver连接MYSQL出现拒绝连接的解决方法

    问题描述: MYSQL闪退: DBeaver连接MYSQL失败 可能原因是MYSQL服务没有启动  解决方案: 1.使用管理者模式打开CMD 2.进入MYSQL安装目录下的bin目录,并执行mysql ...

最新文章

  1. 搜索引擎的两大问题(1) - 召回
  2. CAS 服务器端取消 https的配置 方法
  3. ACE前摄器Proactor模式
  4. 基于mysqli封装的数据库类
  5. 如何保持Oracle数据库优良性能
  6. python怎么画出圆润的曲线_利用python画出AUC曲线的实例
  7. 极端高温导致澳大利亚断网
  8. 第一百四十一节,JavaScript,封装库--DOM加载
  9. [转]UpdatePanel的用法详解
  10. 《Flask 入门教程》 第 2 章:Hello, Flask!
  11. 木其工作室(专业程序代写服务)[转]学写块设备驱动(三)----踢开IO调度器,自己处理bio(下)...
  12. PDF图形(PDF graphics)
  13. 使用键盘操作将桌面计算机图标隐藏,windows7系统中怎么隐藏桌面图标提高工作效率保持桌面整洁...
  14. 第三章软件项目成本管理
  15. RTMP 摄像头推流至七牛云直播
  16. 修炼系列(八),你真的会写注释吗
  17. Networkx如何画点图并显示边权
  18. 与迭代次数有关的一种差值结构
  19. rancher 启动命令_Rancher 中文文档 —— 快速入门指南
  20. SQL SERVER查询生僻字问题

热门文章

  1. 在XP SP3中启用支持NLA的远程桌面
  2. 汇编指令---CDQ
  3. VS 的makefile工程
  4. 如何解决http封包中gzip编码的html
  5. 开涛老师的博客汇总 -- Web MVC 开发学习
  6. 浅谈C++中的友元关系
  7. C语言中判断int,long型等变量是否赋值的方法
  8. Linux设置SSH链接
  9. Design Pattern Strategy C
  10. python的全称_python名称空间介绍