python3.5 mysql 库_Python 3.5 连接Mysql数据库(pymysql 方式)
由于 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 方式)相关推荐
- php mysql odbc_javascript连接mysql与php通过odbc连接任意数据库的实例
脑洞大开用javascript链接mysql,2个小时总算实现了,用到了odbc,后面又想到用php链接odbc链接数据库,也实现了,就把案例放一下. 注意事项: 1.javascript连接mysq ...
- qt5.8连接mysql代码_qt5.8如何连接mysql
qt5.8连接mysql的方法:首先编译生成mysql的驱动:然后下载"libmysql.dll"库,并将其放在Qt的bin文件夹下:最后创建连接代码文件进行测试即可. 推荐:&l ...
- ef6 mysql code first_使用EntityFramework6连接MySql数据库(code first方式)
demo托管地址:http://git.oschina.net/uustudy/ASP.NET-CodeFirst-MySQL-Demo.git 首先和DB First那篇文章一样,准备工具都要一样的 ...
- mysql 遗失对主机的连接,MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)...
MySQL远程连接丢失问题解决方法(Lost connection to MySQL server) 最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦. 远程连接 ...
- java连接MySQL几种方法_Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
- wdcp mysql密码_WDCP提示无法连接mysql及创建站点提示mysql密码不正确
一.wdcp系统访问提示无法连接mysql 1.可能是mysql服务没启动,首先ssh登陆服务器,然后执行service mysqld restart重启mysql再访问试下,如果无法启动,先用df ...
- mysql跳过安全_Navicat连接MySQL数据库
前言: 在使用Gin架构搭建博客的时候,需要设计数据库,以及连接数据库.命令端口操控效率实在是太低且不好管理,这个时候使用Navicat就能轻松高效的使用数据库了. 步骤: 下载安装Navicat,M ...
- 不能连接本地数据库mysql_win7系统下mysql或sqlserver显示无法连接本地数据库如何解决...
最近有win7系统用户在使用数据的时候可能会遇到一些问题,比如有时候会遇到mysql或sqlserver显示无法连接本地数据库的情况,经过分析可能是相关服务没有开启,本教程就给大家带来win7系统下m ...
- MYSQL闪退及DBeaver连接MYSQL出现拒绝连接的解决方法
问题描述: MYSQL闪退: DBeaver连接MYSQL失败 可能原因是MYSQL服务没有启动 解决方案: 1.使用管理者模式打开CMD 2.进入MYSQL安装目录下的bin目录,并执行mysql ...
最新文章
- 搜索引擎的两大问题(1) - 召回
- CAS 服务器端取消 https的配置 方法
- ACE前摄器Proactor模式
- 基于mysqli封装的数据库类
- 如何保持Oracle数据库优良性能
- python怎么画出圆润的曲线_利用python画出AUC曲线的实例
- 极端高温导致澳大利亚断网
- 第一百四十一节,JavaScript,封装库--DOM加载
- [转]UpdatePanel的用法详解
- 《Flask 入门教程》 第 2 章:Hello, Flask!
- 木其工作室(专业程序代写服务)[转]学写块设备驱动(三)----踢开IO调度器,自己处理bio(下)...
- PDF图形(PDF graphics)
- 使用键盘操作将桌面计算机图标隐藏,windows7系统中怎么隐藏桌面图标提高工作效率保持桌面整洁...
- 第三章软件项目成本管理
- RTMP 摄像头推流至七牛云直播
- 修炼系列(八),你真的会写注释吗
- Networkx如何画点图并显示边权
- 与迭代次数有关的一种差值结构
- rancher 启动命令_Rancher 中文文档 —— 快速入门指南
- SQL SERVER查询生僻字问题