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()
时间: 2024-10-13 17:34:11

Python 3.5 连接Mysql数据库(pymysql 方式)的相关文章

python 3.5 连接mysql数据库

python 3.5 要连接mysql数据库,必须先安装pymysql模块,该模块可以操作mysql数据. 1.安装pymysql模块:使用pip进行安装 cmd打开运行模式,切换目录到pip的script目录下,后,输入pip install pymysql,enter键后,就会自己运行安装 2.写代码连接mysql数据库: 说明: ①import pymysql:导入刚才安装的pymysql模块,这时我们就可以调用该模块的函数来进行操作 ②con=pymysql.connect():调用py

【Python】Windows平台下Python、Pydev连接Mysql数据库

Mysql数据库是跨平台的,不是说Python一定就要连接Mongodb. Python连接Mysql数据库是很简单的. 首先,你要配置好Python的开发环境,详见<[Python]Windows版本的Python开发环境的配置,Helloworld,Python中文问题,输入输出.条件.循环.数组.类>(点击打开链接),与Mysql的开发环境,详见<[Mysql]Mysql的安装.部署与图形化>(点击打开链接). 之后,打开Python的官网(点击打开链接),如下图,直接下载一

python 3.x连接MySQL数据库驱动的下载及使用教程

注意此文章写的是有关与MySQL数据库8.0以上版本的,若以下版本等待更新!!! 首先到MySQL数据库官网找到驱动下载,在这我给出网址:https://dev.mysql.com/downloads/connector/python 进去之后会看到这个界面 这里有选择操作系统和下载格式:一般我们需要下载的是压缩包格式的文件,然而这个界面的都是安装程序,需要选择下载程序文件如图:(教程暂时只有Window教程) Window系统选择zip格式压缩包下载:下载完成后解压如图: python的MyS

Python连接MySQL数据库(pymysql的使用)

本文Python版本3.5.3,mysq版本5.7.23 基本使用 # 导入pymysql模块 import pymysql #连接数据库 conn = pymysql.connect( database="数据库名", user="用户名", password="密码", host="数据的地址, port=3306, # 端口3306是固定的 charset="utf8") # 只能是utf8,千万不能是utf-

使用python连接mysql数据库——pymysql模块的使用

安装pymysql pip install pymysql 使用pymysql 使用数据查询语句 查询一条数据fetchone() from pymysql import * conn = connect( host='127.0.0.1', port=3306, user='root', password='123456', database='itcast', charset='utf8') # 创建游标 c = conn.cursor() # 执行sql语句 c.execute("sele

java连接mysql数据库的方式(4句语句)

1 加载mysql驱动: class.forName("con.mysql.jdbc.Driver").newInstance(); 2 根据数据库路径url,账号,密码进行数据库连接: connection con=DriverManager.getconnection(url,"root","s123"); 3 创建处理过程: statement stmt=con.createStatement(); 4 执行处理语句: ResultSet

python3.4连接mysql数据库的方法

python3.4连接mysql数据库的方法 发布时间:2014-08-04编辑:www.jbxue.com 本文介绍了python3.4连接mysql数据库的方法,在python3.4中不能用mysqldb连接mysql,可以使用pymysql完成连接mysql数据库,需要的朋友参考下. 在python3.4中用原来python2.7的mysqldb已不能连接mysql数据库了. 喜欢mysqldb的朋友,可以参考: Python实例 mysqldb操作数据库 python MySQLdb操作

labview之连接MySQL数据库

Labview之连接MySQL数据库 由于项目需要,在Labview开发中,需要使用MySQL数据库.这里介绍两种连接MySQL数据库的方式. 分别为使用Labsql工具包和Database Connectivity Toolkit工具包 以下为操作步骤: 1.安装MySQL数据库 根据需求 可以去官方去下载相应的版本,这里使用的版本:mysql-installer-community-5.7.14.0.msi 在安装过程中需要安装mysql-connector-odbc,这里建议大家安装X86

Python连接MySQL数据库之pymysql模块使用

Python连接MySQL数据库之pymysql模块使用 Python3连接MySQL PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQL数据库. PyMySQL安装 pip install pymysql 连接数据库 注意事项 在进行本文以下内容之前需要注意: 你有一个MySQL数据库,并且已经启动. 你有可以连接该数据库的用户名和密码 你有一个有权限操作的datab