python中SQLAlchemy是什么?

ORM是对象关系映射,将数据库表映射为Python类,行转为对象,字段转属性。SQLAlchemy通过Engine连接数据库,Session操作数据,Base定义模型。例如创建User类对应users表,用session.add()插入数据,无需手写SQL。支持多数据库,提升开发效率与维护性,常用于Flask、FastAPI等框架。

python中sqlalchemy是什么?

SQLAlchemy 是 Python 中一个强大的 ORM(对象关系映射) 库,它让开发者可以用 Python 类和对象的方式来操作数据库,而不必直接写 SQL 语句。简单来说,你可以用面向对象的方式处理数据库中的表和记录。

什么是 ORM?

ORM 的全称是 Object-Relational Mapping(对象关系映射)。它把数据库中的表映射成 Python 类,表的每一行数据对应类的一个实例(对象),字段则对应对象的属性。这样你就可以用 Python 代码来增删改查数据,SQLAlchemy 会自动帮你转换成对应的 SQL 操作。

例如:

如果你有一个用户表 users,传统方式你要写:

立即学习“Python免费学习笔记(深入)”;

INSERT INTO users (name, age) VALUES ('Alice', 25);

用 SQLAlchemy,你可以这样写:

user = User(name='Alice', age=25)session.add(user)session.commit()

看起来更像在操作 Python 对象,而不是数据库。

SQLAlchemy 的核心组件

Engine:连接数据库的入口,负责管理连接池和与数据库通信。Session:用于操作数据库中的数据,比如添加、查询、删除对象。Base / declarative_base():所有模型类的基类,用来定义数据表结构。Model(模型类):继承 Base 的类,每个类对应一张数据库表。

常见用途和优势

减少手写 SQL 的工作量,提高开发效率。代码更易维护,尤其是项目大了以后。支持多种数据库(如 SQLite、MySQL、PostgreSQL 等),切换数据库时改动小。可以灵活地混合使用 ORM 和原生 SQL,适合复杂查询。

一个简单例子

下面是一个使用 SQLAlchemy 创建用户表并插入数据的示例:

from sqlalchemy import create_engine, Column, Integer, Stringfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmaker

创建引擎

engine = create_engine('sqlite:///example.db')Base = declarative_base()

定义模型

class User(Base):tablename = 'users'id = Column(Integer, primary_key=True)name = Column(String(50))age = Column(Integer)

创建表

Base.metadata.create_all(engine)

创建会话

Session = sessionmaker(bind=engine)session = Session()

添加用户

new_user = User(name='Bob', age=30)session.add(new_user)session.commit()

查询用户

for user in session.query(User).filter_by(name='Bob'):print(user.name, user.age)

基本上就这些。SQLAlchemy 不仅功能强大,还被广泛用于 Flask、FastAPI 等 Web 框架中进行数据库操作。掌握它对做后端开发很有帮助。

以上就是python中SQLAlchemy是什么?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1381739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 23:18:18
下一篇 2025年12月14日 23:18:24

相关推荐

发表回复

登录后才能评论
关注微信