Python Flask 简明教程(13)--通过pymysql直接操作数据库

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 本文目录1. 前言2. 创建数据库与表3. 安装pymysql模块4. 连接数据库5. 查询全部数据6. 查询一条数据7. 新增数据8. 删除数据9. 修改数据10. 关闭资源11. 小结

1. 前言

在之前章节中,我们已经讲述过Python如何接受网页参数,以及如何将渲染后的网页发送给浏览器。


在这之后,还有一个非常关键的环节,那就是使用Python操作数据库。我们可以直接对数据库进行增删改查操作,当然也可以进一步通过ORM的方式利用对象操作数据库。


本篇先来介绍下比较基础的数据库操作技术,利用pymysql操作MySQL数据库。之所以选择介绍MySQL数据库,因为它比较流行不是。


2. 创建数据库与表

使用MySQL创建数据库testdb,并在库中创建user表,表结构如下:


CREATE TABLE `user` (

 `id` bigint(20) NOT NULL AUTO_INCREMENT,

 `name` varchar(50) DEFAULT NULL,

 `password` varchar(50) DEFAULT NULL,

 `sex` varchar(50) DEFAULT NULL,

 `age` varchar(50) DEFAULT NULL,

 PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;


为方便测试,数据库中插入两条数据:



3. 安装pymysql模块

pymysql是Python语言访问MySQL数据库的常用模块,直接通过pip3 install mysql命令安装即可。如下提示即为安装成功:



4. 连接数据库

通过connect方法可以连接数据库,并返回连接对象,代码如下:


import pymysql

con = pymysql.connect(

   host='127.0.0.1',

   user='root',

   password='123456',

   db='testdb',

   charset='utf8'

)

这单代码比较简单,就是通过用户名、密码,连接指定服务器上的指定数据库。


5. 查询全部数据

通过连接可以获取游标,然后通过游标的fetchall方法可以获取全部数据:


# 游标

cursor = con.cursor()


# 查询全部

sql="select * from user"

count=cursor.execute(sql)

users=cursor.fetchall()

for user in users:

   print(user)


控制台运行结果如下:


(1, '张三', '123456', '男', '18')

(2, '李四', '789', '女', '20')


6. 查询一条数据

通过fetchone方法可以获取一条数据:


# 查询一条

sql = "select * from user where id=1"

count = cursor.execute(sql)

user = cursor.fetchone()

print(user)


输出如下,如果用户id不存在,则输出None。


(1, '张三', '123456', '男', '18')

1

7. 新增数据

将sql语句修改为insert即可,很简单。


# 新增数据

name = "赵五"

password = "123456"

sex = "男"

age = "18"

sql = 'insert into user(name,password,sex,age)values("%s","%s","%s","%s")' % (name, password, sex, age)

count=cursor.execute(sql)

con.commit()


需要注意的是,执行修改语句后,必须commit()提交事务,才能生效。


8. 删除数据

同理,构造删除sql即可:


# 删除数据

name="赵五"

sql = 'delete from user where name="%s"' % name

count = cursor.execute(sql)

con.commit()


9. 修改数据

同理,构造修改sql即可:


# 修改数据

name = "张三"

password = "000000"

sex = "男"

age = "18"

sql = 'update user set name="%s",password="%s",sex="%s",age="%s" where name="%s"' % (

   name, password, sex, age,name)

count = cursor.execute(sql)

con.commit()


10. 关闭资源

使用完毕,务必不要忘了关闭游标和连接:


# 关闭

cursor.close()

con.close()


11. 小结

pymysql封装的还是比较简洁的,打开连接-获取游标-执行操作-关闭资源。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1469 5
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
940 77
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
1064 86
|
关系型数据库 MySQL API
新手教程:数据库操作(使用PDO或MySQLi扩展)
本文为新手介绍如何使用PDO和MySQLi扩展连接与操作MySQL数据库。PDO更现代灵活,支持多种数据库,适合大多数应用;MySQLi提供面向过程和面向对象两种API,适合直接控制数据库操作。教程涵盖安装配置、创建连接、执行查询(查询、插入、更新、删除)及错误处理等内容。希望这篇教程能帮助你快速上手PHP中的数据库操作!
419 32
|
存储 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 8 数据库生态
PolarDB是一款开源的云原生分布式数据库,源自阿里云商业产品。为降低使用门槛,PolarDB携手伙伴打造了完整的开源生态,涵盖操作系统、芯片、存储、集成管控、监控、审计、开发者工具、数据同步、超融合计算、ISV软件、开源插件、人才培养、社区合作及大型用户合作等领域。通过这些合作伙伴,PolarDB提供了丰富的功能和服务,支持多种硬件和软件环境,满足不同用户的需求。更多信息请访问[PolarDB开源官方网站](https://openpolardb.com/home)。
714 4
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
419 2
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
723 2
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
1074 2

推荐镜像

更多