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()

相关推荐
默_笙3 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003963 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技3 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时3 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
奇思妙想聪明勤奋的小羊3 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1233 天前
2026年第38周GitHub趋势周报
python·科技·github
IZero073 天前
Jev 与 Laya
python·语言模型