Python3中MySQL数据库的连接和操作实例

本文介绍了在Python3环境中使用PyMySQL库连接和操作MySQL数据库的基本概念与实例,包括Connection对象、Cursor对象的创建与使用,以及如何执行SQL语句进行数据的增删改查,并涉及到事务处理的ACID特性。通过实际操作,展示了创建数据库表、插入、查询、删除和更新数据的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【本文所用环境及软件:Win10 + Python3 +MySQL + Navicat for MySQL】

首先,通过流程图可以看到在Python中使用PyMySQL连接和操作数据库的大致过程。
在这里插入图片描述
如上图所示:

  1. 创建Connection对象(数据库连接对象)用于打开数据库连接;
  2. 创建Cursor对象(游标对象)用于执行查询和获取结果;
  3. 执行SQL语句对数据库进行增删改查等操作并提交事务。此过程如果出现异常,则使用回滚技术使数据库恢复到执行SQL语句之前的状态。
  4. 依次销毁Cursor对象和Connection对象。

一、基本概念

1、Connection对象

Connection对象即为数据库连接对象,在python中可以使用 pymysql.connect(‘参数’) 方法创建Connection对象。

参数列表:

  • host:连接的mysql主机,如果本机是’localhost’
  • port:连接的mysql主机的端口,默认是3306
  • database:数据库的名称
  • user:连接的用户名
  • password:连接的密码
  • charset:通信采用的编码方式,推荐使用utf8

对象方法:

  • close()关闭连接
  • commit()提交
  • cursor()返回Cursor对象,用于执行sql语句并获得结果
2、Cursor对象

Cursor对象即为游标对象,用于执行sql语句,使用频度最高的语句为select、insert、update、delete。在python中可以使用conn.cursor( ) 创建,conn为Connection对象。

对象方法:

  • execute():执行数据库查询或命令,将结果从数据库获取到客户端
  • fetchone():获取结果集的下一行
  • fetchmany():获取结果集的下几行
  • fetchall():获取结果集中剩下的所有行
  • close():关闭当前游标对象

对象属性:

  • rowcount:只读属性,表示最近一次execute( )执行后返回数据的行数或受影响的行数
3、事务

事务是数据库理论中一个比较重要的概念,指访问和更新数据库的一个程序执行单元,具有ACID特性

  • 原子性(Atomic):事务中的各项操作要么全都做,要么全都不做。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。
  • 一致性(Consistent):事务必须使数据库从一个一致性状态变到另一个一致性状态,即数据库的完整性不能被破坏。
  • 隔离性(Isolated):数据库允许多个并发事务同时对其数据进行读写和修改的能力,一个事务的执行不能被其他事务干扰。隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。
  • 持久性(Durable):事务一旦提交,它对数据库的改变就是永久性的,可以通过日志和同步备份在故障发生后重建数据。

二、操作实例

首先要在Navicat中创建数据库 test, 如下图所示。(新建连接testDB->新建数据库test)
在这里插入图片描述

1、创建数据库表

在这里我用于连接testDB而使用的用户名为 “root” ,密码为 “123456”。你需要自己设定或者使用你的root用户名及其密码。注意修改代码,使之保持与你的用户名和密码一致。后面的例子皆如此。

# -*-coding:utf-8-*-

import pymysql

# 打开数据库连接(此处修改用户名和密码)
conn = pymysql.connect('localhost', 'root', '123456', 'test'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值