ORM思想入门:SQLAlchemy 零基础实战,告别原生SQL
2026/6/21 20:57:00 网站建设 项目流程

博客导语

ORM(对象关系映射)是企业级开发标准写法,用面向对象操作数据库,无需手写SQL。解决原生SQL语句杂乱、拼接易错、可读性差、维护困难问题。本文讲解ORM核心思想、SQLAlchemy 完整增删改查实战。


一、ORM核心思想

  • 数据表 ➜ 对应 Python 类

  • 数据行 ➜ 对应类的实例对象

  • 字段 ➜ 对应类属性

  • 操作对象 = 操作数据库


二、环境安装

pip install sqlalchemy

三、SQLAlchemy 完整实战

from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.orm import declarative_base, sessionmaker # 1. 创建数据库连接 engine = create_engine("mysql+pymysql://root:123456@localhost/test_db?charset=utf8mb4") Base = declarative_base() # 2. 定义模型类(对应数据表) class User(Base): __tablename__ = "user" id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(30)) age = Column(Integer) # 3. 创建会话 Session = sessionmaker(bind=engine) session = Session() # 4. 新增数据 user = User(name="ORM测试", age=22) session.add(user) session.commit() # 5. 查询数据 res = session.query(User).all() for item in res: print(item.name, item.age)

四、ORM 增删改查简写

# 修改 session.query(User).filter(User.id==1).update({"age":30}) session.commit() # 删除 session.query(User).filter(User.id==1).delete() session.commit()

五、ORM优缺点总结

优点

  • 代码面向对象、可读性极强

  • 无需手写SQL,避免注入漏洞

  • 数据库无缝切换(MySQL/SQLite)

  • 企业项目统一规范

缺点

  • 复杂多表联查、聚合查询不如原生SQL灵活


六、适用场景

Web后端、接口开发、常规业务系统优先 ORM;大数据统计、复杂报表优先原生SQL

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询