Python 实战 · 从 0 到 1 搭建直播视频平台
Barry
某上市公司技术研发总监
3724 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
Python 实战 · 从 0 到 1 搭建直播视频平台
15
15
1.0x
00:00/00:00
登录|注册

22|数据库应用(二):数据库ORM对象关系映射

你好,我是 Barry。
上节课,我们全面认识了数据库,对数据库的基本概念和操作都有了大致了解。不过虽然我们完成了数据库应用的准备阶段,但是还没有把数据库应用在我们的项目里。
这节课,我们继续深入学习数据库应用,熟悉 SQL 语言应用,并实现数据库与项目的联动。即使你之前没接触过 SQL 也没关系,只要你跟住我的节奏,就能更高效地掌握数据库的应用技巧。

数据库表的建立

我们都知道,在项目中需要通过编程语言来操作数据库,实现项目中的增、删、改、查等一系列功能。而操作数据库时最常用的就是 SQL 语言,所以熟练应用 SQL 是我们操作数据库时必备的一项技能。
在 Flask 中使用 MySQL 时,其实你不需要直接编写 SQL 语句来操作数据库。我们还可以通过 ORM 框架实现,它的作用是将面向对象编程语言(如 Java、Python 等)与关系型数据库(如 MySQL、Oracle 等)进行交互。

认识 ORM

ORM 本身就是一种编程技术,全称是“对象关系映射”。通俗地说,你可以把 ORM 看成一种“翻译”技术,它能把数据库中的数据转换成程序中的对象,这样我们就可以像操作对象一样来操作数据库,而不用写一堆复杂的 SQL 语句了。
实现的过程一般借助 Flask 中的 SQLAlchemy 扩展,SQLAlchemy 是一个 Python 编程语言下的 SQL 工具包和 ORM 库,提供了 SQL 表达式操作和 ORM 映射操作的工具。借助这个工具,我们无需掌握 SQL 语句,即可实现数据库操作。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了数据库ORM对象关系映射的概念和在Flask中使用MySQL时的应用。通过ORM技术,可以将数据库中的数据转换成程序中的对象,从而实现对数据库的操作,而无需编写复杂的SQL语句。文章详细介绍了在Flask中使用MySQL时,通过ORM框架实现数据库操作的方法,以及使用SQLAlchemy扩展来实现ORM的过程。通过对比ORM语句和SQL语句的实现方式,读者可以更好地理解ORM的优势。此外,文章还介绍了如何设计数据库表,包括定义模型基类和具体的数据库表,以及设置字段和数据类型。通过示例代码和思维框架图,读者可以了解从数据库字段设计到创建表,再到增删改查操作的整个过程。整体而言,本文通过清晰的示例和详细的解释,帮助读者快速了解数据库ORM对象关系映射的概念和应用技巧。文章还介绍了项目与数据库的连接过程,以及对数据库表的创建和数据库的连接进行了实践。通过对ORM的优势和数据库连接的实践,读者可以更好地掌握数据库操作的技巧和方法。文章还提出了思考题,引发读者对数据库操作的深入思考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 实战 · 从 0 到 1 搭建直播视频平台》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • Forest
    在项目开发中,不会对用户的信息直接从库中删除,而是通过一些字段标识进行软删除,比如国内一些应用注销账号的时候,会有一个确认期(半个月),如果在确认期内撤回注销账号,就可以很快的恢复数据;还可以对用户流失的分析提供数据支持

    作者回复: 解答非常正确,看到你扎实的项目开发经验,继续加油!!!

    2023-06-20归属地:四川
    1
  • 蜡笔小新爱看书
    db.Model的db怎么实例化的?完整代码能给一下吗,还有文件的命名,最好也给出一下

    作者回复: 同学你好,在gitee中已经上传了完整的后端实现代码,你可直接拉取,就能看到对应的实现。

    2023-08-17归属地:广东
  • 浩仔是程序员
    你好,老师,这个是会自动建表,还是需要手动建表,然后再写ORM对象

    作者回复: 使用 ORM 创建数据库时,需要先定义数据库表的结构,然后ORM 会根据定义的表结构自动创建数据库和表,不需要手动操作。

    2023-06-15归属地:广东
  • coderHOW
    现在都是逻辑删除,多增加一个已删除字段,默认为0,比如删除了就设置为1,这样也能保留原始信息,给用户也好给公司分析也好

    作者回复: 回答的非常正确,为你点赞!

    2023-06-12归属地:广东
  • peter
    Q1:python是动态语言,是弱类型语言,对吗? Q2:老师公司的视频网站,用什么推荐算法?

    作者回复: 1、对的,Python 是一种动态类型语言,程序中的变量的类型可以在程序运行时动态地确定。在 Python 中,变量的类型是根据赋值语句右侧的值来确定的。Python 也是一种弱类型语言,程序中变量和值的类型可以自由转换。在 Python 中,类型之间可以进行隐式转换。 2、公司的视频网站可以使用多种推荐算法来优化推荐内容,这些算法包括用户画像、协同过滤、内容相似度、实时热榜和情感分析等。

    2023-06-12归属地:北京
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部