getfromcode中间件

跟着王进老师学Python之Django篇第二季:数据库开发之原生SQL语句

《跟着王进老师学Python之Django篇第二季:数据库开发之原生SQL语句》dca72b729edea6539aec637384888bb4_2d14833c5fd0b54ccd1a737e88555082.webp (40.8 KB, 下载次数: 65) 下载附件   保存到相册 2025-2-16 01:07 上传【技能收获】学完可掌握:Python 编程、MySQL / 数据库。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学

单课价¥29.90新品 上架
会员价 ¥0开通会员,全站课程无限下载套餐详情
1 人关注 更新于 2026-09-29 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

支付成功后自动发货,可在「我的订单」查看网盘链接;链接失效可联系客服免费补链。

正版保障 极速发货 售后无忧

这套资料的主题很明确:在 Django 项目里绕开 ORM,直接用原生 SQL 操作数据库。它不是 Django 入门课,也不是 SQL 语法课,而是夹在两者中间的那一层——你已经能写模型、能跑migrate,但遇到复杂查询、批量写入、遗留库表、性能瓶颈时,ORM 的表达力开始不够用,这时候该怎么把 SQL 接进来,同时不把 Django 的连接管理、事务和迁移体系搞乱。

它解决的问题:ORM 够用与不够用之间

Django 的 ORM 在常规 CRUD 上足够省事,但真实项目里总有一批语句它写起来别扭:多表关联里的条件聚合、窗口函数、INSERT ... ON DUPLICATE KEY UPDATE、基于现有表结构的批量更新、跨库查询,以及需要精确控制执行计划的慢查询优化。这些场景下硬用 ORM 表达,往往要么写不出来,要么生成一堆看不懂的 SQL。

这套内容的价值在于,它把「什么时候该用原生 SQL」和「用了之后怎么和 Django 共存」这两件事讲清楚。重点不是 SQL 本身怎么写,而是 Django 提供了哪几条通道:connection.cursor()的手工游标、Manager.raw()返回模型实例、connection.queries观察实际执行的语句,以及extra()这类已经边缘化的老接口。每条通道的适用边界、返回值形态、能否参与 ORM 链式调用,是理解这套资料的主线。

技术栈与前置条件

  • Python 3.x,语言层面需要熟悉上下文管理器(with)、装饰器、异常处理,因为游标和事务都依赖这些。
  • Django 的模型层与数据库配置:settings.DATABASES、多数据库路由、ATOMIC_REQUESTS与transaction.atomic的关系。
  • MySQL 为主(摘要里提到 MySQL),涉及存储引擎、字符集、索引基础、执行计划EXPLAIN的读法。
  • 对 DB-API 2.0 有基本概念:cursor、fetchone/fetchall、参数占位符%s,这决定了你写原生 SQL 时的参数传递方式。

缺了其中任何一块,跟练时都会卡在「代码能跑但不知道为什么」的状态。所以更建议先确认自己写过带事务的 Django 视图,再进入这套内容。

结构上值得对照实践的点

这类实战向的章节编排通常围绕一条主线推进:先建立连接与游标的心智模型,再处理查询结果的两种消费方式(元组 vs 字典/模型对象),接着进入写操作与事务控制,最后落到性能与安全。跟练时建议按这个顺序,但不要只复制代码——每一节都值得停下来做三件事:

  • 用connection.queries或数据库日志,对比同一需求下 ORM 与原生 SQL 实际发出的语句差异;
  • 把参数化查询改回字符串拼接,亲手验证 SQL 注入是怎么发生的,再改回去;
  • 在事务里人为抛异常,观察atomic块与手工commit/rollback的行为区别。

这些动作比看视频更能固化理解,也是这套资料适合「对照实践」而非「空看」的原因:它的知识点密度集中在接口行为上,不亲手跑一遍很难记住边界。

可复用模块与自学路径

从工程复用角度看,这套内容能沉淀出几块可以带进项目的代码:一个封装好的游标上下文工具(统一处理关闭与异常)、一套 dict 结果集的转换函数、一个把原生查询结果映射回模型实例的辅助层,以及批量写入时的分片提交策略。这些不是教程里现成给你的成品,而是跟着章节敲完之后应该自己整理出来的东西。

自学路径建议这样排:先花少量时间复习 Django 数据库配置与事务文档,再进入游标与查询部分,把读操作跑通;然后重点攻写操作与事务,这是最容易在生产环境出问题的地方;最后用执行计划和索引知识回头优化前面写过的语句。整个过程中,把每节的 SQL 单独拿到数据库客户端里执行一遍,是成本最低的验证手段。

如果你正卡在「ORM 写不出想要的 SQL」或「原生 SQL 不知道往 Django 哪里放」这类具体问题上,这份资料的结构和它覆盖的接口边界,会比泛泛的框架教程更对得上你的实际处境。


dca72b729edea6539aec637384888bb4_2d14833c5fd0b54ccd1a737e88555082.webp (40.8 KB, 下载次数: 65) 下载附件   保存到相册 2025-2-16 01:07 上传

课程推荐

《跟着王进老师学Python之Django篇第二季:数据库开发之原生SQL语句》dca72b729edea6539aec637384888bb4_2d14833c5fd0b54ccd1a737e88555082.webp (40.8 KB, 下载次数: 65) 下载附件   保存到相册 2025-2-16 01:07 上传【技能收获】学完可掌握:Python 编程、MySQL / 数据库。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。

视频目录(54 节)

*   1 引入数据库开发.mp4

*   2 数据是核心.mp4

*   3 常见的数据库产品.mp4

*   4 数据库开发环境的基本介绍.mp4

*   5 准备开发环境所需的软件.mp4

*   6 安装Centos系统.mp4

*   7 安装mysql.mp4

*   8 登录mysql.mp4

*   9 解决mysql无法存储中文问题.mp4

*   10 使用Navicat管理mysql.mp4

*   11 创建数据库.mp4

*   12 创建表.mp4

*   13 数据类型.mp4

*   14 表的基本操作.mp4

*   15 主键 -- Primary Key.mp4

*   16 唯一键 -- Unique.mp4

*   17 外键 -- Foreign Key.mp4

*   18 创建表的最佳实践.mp4

*   19 认识SQL查询.mp4

*   20 准备查询数据.mp4

*   21 SQL查询基础练习(上).mp4

*   22 SQL查询基础练习(下).mp4

*   23 聚合函数.mp4

*   24 分组查询.mp4

*   25 嵌套查询.mp4

*   26 初识连接查询.mp4

*   27 内连接介绍及四种写法.mp4

*   28 内连接实战讲解.mp4

*   29 外连接介绍及三种写法.mp4

*   30 外连接实战讲解.mp4

*   31 交叉连接介绍和实战演示.mp4

*   32 自连接介绍和实战演示.mp4

*   33 Django中mysql驱动介绍.mp4

*   34 pymysql的安装和使用.mp4

*   35 pymysql使用的完善.mp4

*   36 演示:创建表.mp4

*   37 演示:向表中插入数据.mp4

*   38 演示:修改和删除表中的数据.mp4

*   39 演示:获取表中的数据.mp4

*   40 项目总体介绍.mp4

*   41 项目基本环境的搭建.mp4

*   42 展示学生信息.mp4

*   43 实现增删改前的准备.mp4

*   44 展示学生明细信息.mp4

*   45 修改学生信息.mp4

*   46 添加学生.mp4

*   47 删除学生.mp4

*   48 查询学生.mp4

*   49 事务的介绍.mp4

*   50 mysql中事务基本演示.mp4

*   51 Django中使用事务提交数据.mp4

*   52 演示:添加多个学生(上).mp4

*   53 演示:添加多个学生(下).mp4

*   54 第二季课程总结.mp4