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

相关推荐
zach012730 分钟前
GEO优化的算力贫困悖论:基于数字地缘政治的量子搜索语义重构
人工智能·python·重构
AsDuang1 小时前
Python 3.12 MagicMethods - 28 - __rsub__
开发语言·python
李可以量化1 小时前
用 KMeans 聚类寻找股票支撑位与压力位(上):基于 QMT 量化平台实现
python·量化 qmt ptrade
所谓伊人,在水一方3331 小时前
【Python数据科学实战之路】第12章 | 无监督学习算法实战:聚类与降维的奥秘
python·sql·学习·算法·信息可视化·聚类
MoRanzhi12032 小时前
Pillow 灰度化、二值化与阈值处理
图像处理·python·pillow·二值化·图像预处理·阈值处理·灰度化
飞Link2 小时前
告别复杂调参:Prophet 加法模型深度解析与实战
开发语言·python·数据挖掘
测试人社区—66792 小时前
当代码面临道德选择:VR如何为AI伦理决策注入“人性压力”
网络·人工智能·python·microsoft·vr·azure
独行soc2 小时前
2026年渗透测试面试题总结-36(题目+回答)
网络·python·安全·web安全·网络安全·渗透测试·安全狮
witAI2 小时前
**Kimi小说灵感2025推荐,从零到一的创意激发指南**
人工智能·python
飞Link3 小时前
深度解析:基于专家的监管方法(Expert-Based Supervision)在复杂系统中的应用
python·数据挖掘·回归