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

相关推荐
Sylvia33.2 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
梦想不只是梦与想2 小时前
Web 服务器网关协议:ASGI 和 WSGI
服务器·python·fastapi
ai小陈4 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
2601_962299247 小时前
Azure python操作系统列表
python·操作系统·azure·虚拟机·存储配置文件
学术 学术 Fun8 小时前
如何用 API 与 Webhook 批量把图表图片转换成 VSDX
python·自动化·api·visio
2601_962100549 小时前
python包和模块的内容整理
python·模块·导入·虚拟环境·
二进制漫游记9 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
-今昭-10 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
2601_9623815810 小时前
【转】Python渗透测试工具:sqlmap
python·渗透测试·sql注入·sqlmap·数据库安全
用户37215742613511 小时前
如何使用 Python 从 Word 文档中提取图片
python