教你怎么用Python操作MySql数据库
作者:ProChick 发布时间:2024-01-13 06:46:48
标签:Python,操作,MySql
一、关于Python操作数据库的概述
Python所有的数据库接口程序都在一定程度上遵守 Python DB-API 规范。
DB-API定义了一系列必须的对象和数据库存取方式,以便为各种底层数据库系统和多种多样的数据库接口程序提供一致的访问接口。由于DB-API 为不同的数据库提供了一致的访问接口, 在不同的数据库之间移植代码成为一件轻松的事情。
在Python中如果要连接数据库,不管是MySQL、SQL Server、PostgreSQL亦或是SQLite,使用时都是采用游标的方式。
二、一般操作流程
三、安装mysql的操作库
$ pip3 install PyMySQL
四、基本操作
创建连接
import pymysql
# 创建连接方式1
db = pymysql.connect(host='localhost',
user='root', password='root', db='test', port=3306)
# 创建连接方式2
db = pymysql.connect(dsn='localhost:test', user='root', password='root')
close()
关闭此connect对象, 关闭后无法再进行操作,除非再次创建连接。
cursor()
创建游标对象。一个游标允许用户执行数据库命令和得到查询结果。一个 Python DB-API 游标对象总是扮演游标的角色, 无论数据库是否真正支持游标。也就说,数据库接口程序必须实现游标对象。创建游标对象之后, 你就可以执行查询或其它命令(或者多个查询和多个命令), 也可以从结果集中取出一条或多条记录。
commit()
提交当前事务,执行游标对象的所有更新操作。
rollback()
取消当前事务,回滚当前游标的所有操作。
游标操作
cursor = db.cursor()
close():关闭此游标对象
fetchone():得到结果集的下一行
fetchall():得到结果集中剩下的所有行
excute(sql[, args]):执行一个数据库查询或命令
callproc(func[,args]): 调用一个存储过程
查询操作
import pymysql
db = pymysql.connect(host='localhost', user='root', password='root', db='test')
cursor = db.cursor()
sql = '''select * from t_account'''
try:
cursor.execute(sql)
# 方式1读取结果集
rows = cursor.fetchall()
for row in rows:
print(row)
# 方式2读取结果集
for i in range(cursor.rowcount):
result = cursor.fetchone()
print(result)
except Exception as e:
raise e
finally:
cursor.close()
db.close()
添加操作
import pymysql
db = pymysql.connect(host='localhost', user='root', password='root', db='test')
cursor = db.cursor()
sql = '''insert into t_account values(default,'zhangsan','z',100,'张三')'''
try:
print(cursor.execute(sql))
db.commit()
except:
db.rollback()
finally:
cursor.close()
db.close()
修改操作
import pymysql
db = pymysql.connect(host='localhost', user='root', password='root', db='test')
cursor = db.cursor()
sql = '''update t_account set realname = '李四' where id = '5' '''
try:
print(cursor.execute(sql))
db.commit()
except:
db.rollback()
finally:
cursor.close()
db.close()
删除操作
import pymysql
db = pymysql.connect(host='localhost', user='root', password='root', db='test')
cursor = db.cursor()
sql = '''delete from t_account where id = '5' '''
try:
print(cursor.execute(sql))
db.commit()
except:
db.rollback()
finally:
cursor.close()
db.close()
调用存储过程
cursor.callproc("存储过程名称")
for result in cursor.fetchall():
print(result)
来源:https://blog.csdn.net/qq_45747519/article/details/117395942


猜你喜欢
- 前言晚上回家闲来无事,想打开某直播平台,看看小姐姐直播。看着一个个多才多艺的小姐姐,眼花缭乱,好难抉择。究竟看哪个小姐姐直播好呢?今天我们就
- Django是一个基于Python Web框架的高级Web框架,允许快速开发和干净,务实的设计。今天,我们将创建一个待办事项应用程序,以了解
- 本文介绍基于Python中gdal模块,实现对大量栅格图像批量绘制直方图的方法。首先,明确一下本文需要实现的需求:现需对多幅栅格数据文件进行
- 当数据文件过大时,由于计算机内存有限,需要对大文件进行分块读取:import pandas as pdf = open('E:/学习
- delattr 函数用于删除属性。delattr(x, 'foobar') 相等于 del x.foobar。语法setat
- 目录arrow模块的使用获取arrow对象时间形式转换获取数据修改时间总结Python中有很多时间和日期处理的库,有time、datetim
- 先来看看绘制的动态水球图:没有安装PyEcharts的,先安装PyEcharts:# 安装pyecharts模块,直接安装就是最新的版本pi
- el-col-group"el-col-group" 是一个 Vue.js 函数式组件,允许您在 "el-ta
- 最近碰到一个mysql5数据库的问题。就是一个标准的servlet/tomcat网络应用,后台使用mysql数据库。问题是待机一晚上后,第二
- 写在前面虽然 make 和 new 都是能够用于初始化数据结构,但是它们两者能够初始化的
- 找到nginx多网站配置文件:类似 nginx/sites-available/www.baidu.comserver { li
- 在训练循环中,定期调用 saver.save() 方法,向文件夹中写入包含了当前模型中所有可训练变量的 checkpoint 文件。save
- Python 操作 Excel常用工具数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件。因此用 Pyt
- ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能。ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了
- 今天在一个QQ群中看到有人在问一个进度条的实现方式,当时因为工作时间,需求相对也比较紧,只是简单的说了一下可以通过CSS的边框属性和背景属性
- mysql找不到my.ini文件问题描述刚刚在修改mysql默认配置的时候,发现找不到my.ini文件。按照其他搬运工的说法,打开隐藏的文件
- 本文实例讲述了Python多进程原理与用法。分享给大家供大家参考,具体如下:进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了
- 目录1. 安装方法2. 简单示例3. 兼容字典的所有操作4. 设置返回默认值5. 工厂函数自动创建key6. 序列化的支持字典是 Pytho
- 前言这段时间一直在研究飞浆平台,最近试了试PaddleSpeech项目,试着对文本语音做处理。整体的效果个人觉着不算特别优越,只能作为简单的
- 本文实例讲述了Python requests库用法。分享给大家供大家参考,具体如下:requests是Python中一个第三方库,基于 ur