当前位置: 首页 > news >正文

ORM思想入门:SQLAlchemy 零基础实战,告别原生SQL

博客导语

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

http://www.jsqmd.com/news/1057181/

相关文章:

  • 传统驱动卸载 vs 自动化深度清理:专业级显卡驱动维护解决方案
  • ARM架构下高效C编程:数据类型、循环与内存访问优化实战
  • Python 编程 - 闭包
  • ZeroClaw:Windows本地AI指令网关实战指南
  • CentOS 8用户管理实战:systemd、SELinux与安全审计深度解析
  • Parsec VDD 0.45深度解析:虚拟显示驱动的技术内幕与实战指南
  • 亚洲EMBA排名前三客观测评与科学择校指南
  • 2026年浙江杭州行政诉讼律师推荐指南:从行政处罚到征收补偿全解析 - 本地品牌推荐
  • AI教材编写新利器!低查重AI写教材工具,高效打造专业教材!
  • 能量正则化神经MPC:提升全向飞行机器人控制精度的关键技术
  • 资本热捧具身大脑:融资提速、技术路线多元,泡沫与机遇并存?
  • 汽车MCU电源系统设计:MPC5775K多电压域与噪声管理实战
  • Qwen 3.6-27B:FP8量化+vLLM调度的边缘大模型工程实践
  • 医疗多模态大模型评估:MedImageEdu基准下的性能分析与挑战
  • Spring SpEL表达式注入漏洞:原理、审计与修复实战指南
  • 2026年浙江杭州合同纠纷律师推荐清单:5家专业团队实力解析 - 本地品牌推荐
  • BGU8053低噪声放大器设计:噪声系数与线性度平衡实战
  • LangGraph+Gradio实战:构建可调试可扩展的Agent系统
  • 生成式AI与酷儿艺术:数据伦理、算法偏见与社群抵抗的深层张力
  • 字符串连接的c++代码
  • 3个技巧让WE Learn网课学习效率提升300%:开源助手的智能解法
  • 本地Codex搭建实战:Ollama+Continue分层部署指南
  • 深圳搬家哪家强?2026年实测5家口碑公司,从起步价到附加费全拆解,拒绝坐地起价 - 从来都是英雄出少年
  • 003-费曼独立思考的底层哲学
  • 电动车托运哪个最安全?2026高保障平台实测推荐 - 快递物流资讯
  • 3分钟解决Windows 11界面不适:ExplorerPatcher完整指南
  • 构建Selenium持续测试流水线:从自动化脚本到工程化实践
  • 炉石传说脚本终极指南:5分钟快速上手的智能自动化对战工具
  • 两个小物件儿 ☜请点击这里可看全文
  • 2026无锡本土靠谱GEO SEO优化公司3家本土服务商实测:实测避坑,企业AI获客少走弯路 - wxxwlm