Python 中操作mysql数据库

我们经常运用mysql 数据库存储数据,在python中,应用也比较广泛,今天将主要的几个操作罗列一下。

在使用前,要确保电脑安装了mysql,并且正常启动。

操作mysql需要导入支持包

import pymysql

(一)连接数据库,操作如下:

打开数据库连接,参数1:主机名或IP;参数2:用户名;参数3:密码;参数4:数据库名

db = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='owndataba')

使用cursor()创建一个cursor对象

cursor = db.cursor()

使用execute()方法执行SQL查询

cursor.execute("SELECT VERSION()")

使用fetchone()方法获取单条数据

data = cursor.fetchone()

print("Database version: %s" % data)

关闭数据库

db.close()

(二)创建数据库表流程如下:

import pymysql

打开数据库连接,参数1:主机名或IP;参数2:用户名;参数3:密码;参数4:数据库名

db = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='owndataba')

使用cursor()创建一个cursor对象

cursor = db.cursor()

使用execute()方法执行SQL语句,如果表存在删除

cursor.execute("DROP TABLE IF EXISTS books")

使用预处理语句创建表

sql = """CREATE TABLE books(

id int(8) NOT NULL AUTO_INCREMENT,

name varchar(50) NOT NULL,

category varchar(50) NOT NULL,

price decimal(10,2) DEFAULT NULL,

publish_time date DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

"""

执行SQL语句

cursor.execute(sql)

关闭连接数据库

db.close()

(三)增加数据操作如下:

import pymysql

连接数据库

db = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='owndataba')

使用cursor()创建一个cursor对象

cursor = db.cursor()

数据列表

data = [

("演讲与口才", "Python", "79.80", "2022-5-30"),

("高情商,好口才", "Java", "69.80", "2022-4-19"),

("学会说话很重要", "Python", "89.80", "2022-5-19"),

("说到点子上", "PHP", "99.80", "2022-2-19"),

]

try:

执行SQL,插入多条数据

cursor.executemany("insert into books(name,category,price,publish_time) values (%s,%s,%s,%s)", data)

提交数据

db.commit()

except:

发生错误时回滚

db.rollback()

关闭数据库连接

db.close()

相关推荐
小小程序猴16 小时前
用工程视角建模企业AI培训周期:三段账本估算器(Python实现)
开发语言·人工智能·python
十二同学啊6 小时前
Python FastAPI 项目使用 Docker 部署并映射端口(完整教程)
python·docker·fastapi
不爱吃鱼的蔓热莓6 小时前
Autosar arxml异常字符串处理
python
FBI HackerHarry浩6 小时前
Pytorch中 CPU tensor vs GPU tensor
人工智能·pytorch·python·深度学习
wewowilling6 小时前
工作流 .... coze平台--AI--Agent--RAG--Function Calling
python·低代码·agent·零代码·工作流·coze
小草cys6 小时前
图片一键转全矢量可编辑PPT——纯Python实现,零依赖,离线可用
人工智能·python·powerpoint
东莞市云毅网络有限公司7 小时前
客服记录里的问句怎么变成知识库条目:意图聚类的 Python 实现
python·sqlite·自动化运维·geo·数据监测
严谨的麻辣烫7 小时前
为什么 API 接口偶尔报错,重试一次又恢复了?从 HTTP 连接池到 Keep-Alive 排查
python·网络协议·tcp/ip·http·性能优化
学Linux的语莫7 小时前
uv的使用
python·uv
asdzx677 小时前
使用 Python 按页或节拆分 Word 文档
python·word