尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【数据库篇|ORM】一篇速通SQLALchemy必备知识
一.SQLALchemy概述1.1 定义SQLAlchemy 是 Python 生态中最强大、最成熟的数据库工具库它既是一个SQL 工具包也是一个对象关系映射ORM框架。ORM 让你用操作对象的方式操作数据库。1.2 安装命令行cmd或者pyCharm终端输入pip install sqlalchemy二.数据库的连接和表的创建2.1 SQLAlchemy连接mysql数据库2.1.1 使用mysql创建表DROP TABLE IF EXISTS student; CREATE TABLE student ( id int NOT NULL AUTO_INCREMENT, name varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 5 CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic; SET FOREIGN_KEY_CHECKS 1;结果ps:如果表保存过sql预览还是为空可以右键点击表名选择转储SQL文件的仅结构之后选择保持位置后会生成一个.sql文件打开即为建表代码。2.1.2 连接 MySQL 数据库1.导包import sqlalchemy2.创建引擎engine sqlalchemy.create_engine(mysqlpymysql://用户名:密码localhost:端口号/数据库名)数据库类型mysql驱动pymysqlps:pymysql安装pip install pymysql3.连接conn engine.connect()4.查询query sqlalchemy.text(SELECT * FROM student) result conn.execute(query)5.输出结果for row in result: print(row)针对以上所创建的数据库而言会输出6.清理conn.close() engine.dispose()2.2SQLAlchemy Core创建表1.导包import sqlalchemy2.创建引擎engine sqlalchemy.create_engine(mysqlpymysql://用户名:密码localhost:端口号/数据库名,echoTrue)3.定义元数据metadata sqlalchemy.MetaData()4.表goods sqlalchemy.Table( goods, metadata, sqlalchemy.Column(id, sqlalchemy.Integer, primary_keyTrue), sqlalchemy.Column(name, sqlalchemy.String(128), uniqueTrue, nullableFalse), sqlalchemy.Column(price, sqlalchemy.Integer, nullableFalse), ) metadata.create_all(engine)三.增删改查3.1 增单增insert_apple goods.insert().values(id1,nameapple,price100) with engine.connect() as conn: result conn.execute(insert_apple) conn.commit() print(插入成功受影响行数, result.rowcount)多增goods_insert goods.insert() with engine.connect() as conn: conn.execute(goods_insert,[ {name: apple, price: 100}, {name: book, price: 200}, {name: peer, price: 300}, ]) conn.commit()3.2 查with engine.connect() as connection: query goods.select().where(goods.c.id 1) results connection.execute(query)3.3 删with engine.connect() as conn: delete_query goods.delete().where(goods.id 1) conn.execute(delete_query) conn.commit()3.4 改with engine.connect() as conn: update_query goods.update().values(price10).where(goods.id1) conn.execute(update_query) conn.commit()ps:代码非完整代码直接粘贴会报错。缺乏if __name__ __main__保护建议加上。
RELATED

相关推荐

基于Label Studio自定义后端实现AI数据自动标注全流程实战

基于Label Studio自定义后端实现AI数据自动标注全流程实战

在数据标注项目中,手动标注不仅耗时耗力,还容易因标注者主观性导致结果不一致。特别是在处理大规模数据集时,如何高效、准确地完成标注成为项目瓶颈。Label Studio作为一款开源的、可扩展的数据标注工具,其强大的“后端&#xff0…

📅 2026/9/20 13:11:02
Python面向对象编程入门:从“人狗大战”案例理解类与对象

Python面向对象编程入门:从“人狗大战”案例理解类与对象

1. 项目概述:从“人狗大战”到面向对象编程的思维跃迁“人狗大战”这个标题,乍一听像是某个恶搞游戏或者无厘头段子,但如果你正在学习编程,尤其是Python或Java,并且接触到了“面向对象”这个概念,那你可能瞬…

📅 2026/9/1 18:34:54
Unity渲染中Dither透明物体阴影丢失的深度解析与解决方案

Unity渲染中Dither透明物体阴影丢失的深度解析与解决方案

1. 项目概述:当透明物体的阴影在Dither下“神秘消失” 做Unity渲染开发,尤其是涉及到半透明效果时,最让人头疼的莫过于“场景里看着好好的,一运行阴影就没了”。如果你正在使用Dither(抖动)技术来处理透明物…

📅 2026/9/1 1:48:00
MORE NEWS

更多资讯

📰

MAX31856热电偶测温实战:从寄存器配置到故障排查

做温度采集项目时,我遇到过好几次“看着简单、实际坑很多”的需求。比如用K型热电偶测几百度的温度,热电偶输出电压本身只有几十毫伏,冷端补偿、信号放大、非线性校准这些环节如果处理不好,读数偏个十几度都是家常便饭。后来我把方…

📰

SAP EWM内向交货流程全解析:从ERP集成到收货差异处理

1. 先想清楚一件事:内向交货单到底从哪里来做SAP EWM的同行应该都有过这种经历:仓库主管火急火燎打电话过来,说“ERP系统里明明已经做了交货单,为什么EWM这边就是看不到库存?”或者反过来,“EWM里库存已经有…

📰

Qwen3.8-Omni-Flash:全模态智能体的原生操作系统

1. Qwen3.8-Omni-Flash 不是“又一个大模型”,而是智能体时代的底层操作系统重构你有没有试过在本地跑一个能同时听清会议录音、看懂PPT截图、理解Excel表格结构、再生成带数据支撑的周报草稿的AI?不是分步骤调用三个API,不是靠人工拼接提示词…

📰

Claude Code官方插件仓库解析:从安装配置到自研插件全指南

1. 从"官方插件仓库"这个信号说起claude-plugins-official这个仓库名本身就传递了一个很明确的信号:Claude Code 的插件生态开始有了官方层面的统一入口。如果你最近在折腾 Claude Code,大概率已经感受到一个变化——以前想让 Claude Code 干点…

📰

Claude Code插件开发指南:官方仓库解析与配置实践

1. 从 claude-plugins-official 说起:这个仓库到底解决了什么问题第一次看到claude-plugins-official这个仓库名的时候,我正被一堆零散的插件配置折腾得够呛。那会儿我在几个项目之间来回切换,每个项目里都有一份自己的插件配置,有…

📰

需求交付 15 天压到 7 天之后,研发效能度量平台该盯哪 3 个指标?

不少团队希望把需求交付周期从 15 天压缩到 7 天,但管理者常会把提速当成最终目标,忽视持续的数据观测。单纯追求速度不等于真正的效能提升,极易引发测试不足、线上故障频发、需求返工等问题。周期压缩只是优化起点,保障质量、疏通…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬