Python 数据库访问与ORM框架——打造高效开发利器

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Python 作为一门广泛使用的编程语言,其在数据库访问方面也有着较为成熟的解决方案,其中ORM框架更是成为了开发者们的首选。本文将介绍 Python 中数据库访问和 ORM 框架的基本概念,以及如何使用 SQLAlchemy 这一优秀的 ORM 框架进行开发。

数据库访问
在 Python 中,访问数据库需要使用相应的驱动程序,常见的有 MySQLdb、psycopg2 和 cx_Oracle 等。使用这些驱动程序,我们可以通过 Python 连接到数据库并执行 SQL 语句进行数据的增删查改等操作。
例如,我们可以使用 MySQLdb 驱动连接到 MySQL 数据库,并对其中的数据进行操作:
Copy Code
import MySQLdb

连接到 MySQL 数据库

conn = MySQLdb.connect(host='localhost', user='root', passwd='password', db='test')

创建游标对象

cursor = conn.cursor()

执行 SQL 语句

sql = 'SELECT * FROM users'
cursor.execute(sql)

获取所有记录

results = cursor.fetchall()

输出结果

for row in results:
print(row)

关闭游标和连接

cursor.close()
conn.close()
ORM 框架
ORM(Object-Relational Mapping)框架是一种将对象模型和关系数据库之间的映射进行转换的技术,将数据库中的表映射为 Python 中的类,表中的行映射为类的实例,从而使开发者可以通过对象的方式操作数据库,而无需直接编写 SQL 语句。
Python 中最著名的 ORM 框架就是 SQLAlchemy,它提供了丰富的功能和灵活的配置,支持多种数据库(包括 MySQL、PostgreSQL、SQLite 等),被广泛应用于各种 Python Web 开发框架中。
下面是使用 SQLAlchemy 进行数据库操作的示例:
Copy Code
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

创建数据库引擎

engine = create_engine('mysql://root:password@localhost/test')

创建 Session 类型

Session = sessionmaker(bind=engine)

创建 Base 类

Base = declarative_base()

定义 User 类

class User(Base):
tablename = 'users'

id = Column(Integer, primary_key=True)
name = Column(String(50))
age = Column(Integer)

创建 Session 实例

session = Session()

查询所有用户

users = session.query(User).all()
for user in users:
print(user.id, user.name, user.age)

添加一个新用户

new_user = User(name='Tom', age=20)
session.add(new_user)
session.commit()

删除一个用户

delete_user = session.query(User).filter_by(name='Tom').first()
session.delete(delete_user)
session.commit()

关闭 Session

session.close()
通过 SQLAlchemy,我们可以使用类似于操作 Python 对象的方式来操作数据库,大大简化了开发过程,并提高了开发效率。
结语:
Python 数据库访问和 ORM 框架是 Python 开发中必不可少的技术之一,掌握这些技能可以使我们更加高效地进行开发,从而打造出更加优秀的应用。希望本文对读者有所帮助。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
缓存 API 数据库
Python哪个框架合适开发速卖通商品详情api?
在跨境电商平台速卖通的商品详情数据获取与整合中,Python 语言及其多种框架(如 Flask、Django、Tornado 和 FastAPI)提供了高效解决方案。Flask 简洁灵活,适合快速开发;Django 功能全面,适用于大型项目;Tornado 性能卓越,擅长处理高并发;FastAPI 结合类型提示和异步编程,开发体验优秀。选择合适的框架需综合考虑项目规模、性能要求和团队技术栈。
20 2
|
16天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
13天前
|
存储 缓存 NoSQL
2款使用.NET开发的数据库系统
2款使用.NET开发的数据库系统
|
10天前
|
安全 API 数据库
Python哪个框架合适开发淘宝商品详情api?
在数字化商业时代,开发淘宝商品详情API成为企业拓展业务的重要手段。Python凭借其强大的框架支持,如Flask、Django、Tornado和FastAPI,为API开发提供了多样化的选择。本文探讨了这些框架的特点、优势及应用场景,帮助开发者根据项目需求选择最合适的工具,确保API的高效、稳定与可扩展性。
20 0
|
17天前
|
安全 API 网络架构
Python中哪个框架最适合做API?
本文介绍了Python生态系统中几个流行的API框架,包括Flask、FastAPI、Django Rest Framework(DRF)、Falcon和Tornado。每个框架都有其独特的优势和适用场景。Flask轻量灵活,适合小型项目;FastAPI高性能且自动生成文档,适合需要高吞吐量的API;DRF功能强大,适合复杂应用;Falcon高性能低延迟,适合快速API开发;Tornado异步非阻塞,适合高并发场景。文章通过示例代码和优缺点分析,帮助开发者根据项目需求选择合适的框架。
43 0
|
4月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
52 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
4月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
47 1
|
19天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
63 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
4月前
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
32 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
|
4月前
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 函数与内置函数
本文详细介绍了Python中的函数概念,包括自定义函数、参数传递、局部与全局变量,以及内置函数的使用,还扩展了匿名函数、return和yield、exec()、vars()、iter()、map()、zip()、reversed()和sorted()等高级函数和概念。
33 1
Python接口自动化测试框架(基础篇)-- 函数与内置函数
下一篇
无影云桌面