在数字化浪潮席卷全球的今天,数据已被誉为“新的石油”,而 SQL 则是开采和提炼这一宝贵资源的通用语言。无论你是初入职场的程序员,还是致力于从海量数据中挖掘价值的分析师,掌握 SQL 都是职业生涯中不可替代的核心竞争力。然而,对于许多零基础或非计算机专业出身的朋友来说,面对复杂的数据库理论和枯燥的代码命令,往往感到无从下手。由程序员老关主讲的《程序员老关带您学SQL第1篇:SQL基础》,正是为了打破这一门槛,为程序员和数据分析员量身打造的一套系统化入门课程。
本课程开篇即构建了完整的知识框架。讲师并未急于切入代码实操,而是首先带领大家回顾数据管理的发展历程,从文件系统到数据库系统,理解技术演进的底层逻辑。在此基础上,课程深入剖析了数据逻辑模型,特别是关系型模型的核心概念,帮助学员建立起“表”、“列”、“行”、“键”等关键术语的思维模型。对于初学者而言,理解数据库管理系统(DBMS)的作用以及 SQL 语言的整体概貌,是后续深入学习的关键基石。通过第 1 章的综述,你将清晰地知道 SQL 在大数据生态中的位置,以及它为何能成为行业通用的标准。
“纸上得来终觉浅,绝知此事要躬行。”第 2 章重点解决了学习路上的最大痛点——环境搭建。传统课程常要求安装庞大的 MySQL 或 Oracle 服务端,配置繁琐且容易出错。本课程创新性地引入了 SQLite 这一无需安装、轻量级的数据库解决方案,极大地降低了入门成本。讲师详细演示了两种主流的学习路径:一是通过命令行直接访问 SQLite,让学员体会最原始的数据库交互方式,理解 SQL 语句的执行过程;二是推荐使用 DBeaver 和 DB4 等图形界面工具,提供可视化的操作体验,便于观察数据结构和管理数据库对象。这种“命令行+图形化”的双轨制教学,既保证了技术的正统性,又兼顾了学习的便捷性。
每章配套的课后习题并非形式主义的点缀,而是检验学习成果、巩固知识要点的重要环节。通过习题反馈,你可以及时发现自己对概念理解的偏差或对命令记忆的疏漏,从而实现真正的闭环学习。
总体而言,这门课程结构严谨、循序渐进,特别适合希望系统掌握 SQL 基础、快速上手实践环境的程序员和数据分析师。如果你正准备开启 SQL 学习之旅,或者希望填补理论知识与实际操作之间的鸿沟,这篇基础课程将是你坚实的第一步。跟随老关的指引,从理解数据模型到熟练配置开发环境,你将不再畏惧代码,而是能够自信地驾驭数据,为后续学习高级查询、性能优化乃至复杂的数据分析奠定坚实基础。
课程目录
1-1 [开篇综述] 课程介绍 (02:54) 1-2 [开篇综述] 数据管理的发展过程 (09:11) 1-3 [开篇综述] 数据逻辑模型 (03:24) 1-4 [开篇综述] 关系型模型的核心概念 (13:07) 1-5 [开篇综述] 数据库管理系统 (05:49) 1-6 [开篇综述] SQL语言概述 (06:33) 1-7 [开篇综述] 第1章【课后习题】 (02:58) 2-1 [学习环境搭建] 不需要安装的数据库——SQLite (11:01) 2-2 [学习环境搭建] 通过命令行访问SQLite数据库 (05:49) 2-3 [学习环境搭建] 使用DBeaver图形界面工具管理SQLite数据库 (08:30) 2-4 [学习环境搭建] 使用DB4图形界面工具管理SQLite数据库 (08:33) 2-5 [学习环境搭建] 第2章【课后习题】 (02:37) 3-1 [管理表] 创建表 (12:51) 3-2 [管理表] 字段数据类型 (08:48) 3-3 [管理表] 指定候选键 (09:41) 3-4 [管理表] 指定主键 (08:01) 3-5 [管理表] 指定外键 (13:48) 3-6 [管理表] 指定默认值 (06:15) 3-7 [管理表] 禁止空值 (01:42) 3-8 [管理表] CHECK约束 (04:13) 3-9 [管理表] 修改表 (06:13) 3-10 [管理表] 第3章【课后习题】 (02:21) 4-1 [管理视图] 视图概念 (06:46) 4-2 [管理视图] 创建视图 (07:54) 4-3 [管理视图] 修改视图 (02:19) 4-4 [管理视图] 删除视图 (52) 4-5 [管理视图] 第4章【课后习题】 (03:24) 5-1 [修改数据] 插入数据——INSERT语句 (13:32) 5-2 [修改数据] 更改数据——UPDATE语句 (05:45) 5-3 [修改数据] 删除数据——DELETE语句 (04:11) 5-4 [修改数据] 数据库事务 (10:24) 5-5 [修改数据] 第5章【课后习题】 (01:18) 6-1 [查询数据] SELECT语句 (07:46) 6-2 [查询数据] 排序查询结果——ORDER BY子句 (06:01) 6-3 [查询数据] 筛选查询结果——WHERE子句 (16:40) 6-4 [查询数据] 第6章【课后习题】 (01:44) 7-1 [汇总查询结果] COUNT函数 (06:06) 7-2 [汇总查询结果] SUM函数 (04:38) 7-3 [汇总查询结果] AVG函数 (03:03) 7-4 [汇总查询结果] MIN函数和MAX函数 (04:44) 7-5 [汇总查询结果] 分类查询结果——GROUP BY子句 (09:34) 7-6 [汇总查询结果] 使用HAVING筛选查询结果 (09:52) 7-7 [汇总查询结果] 使用DISTINCT选择唯一值 (05:02) 7-8 [汇总查询结果] 第7章【课后习题】 (02:32) 8-1 [子查询] 从一个案例引出的思考 (08:53) 8-2 [子查询] 使用子查询解决问题 (01:56) 8-3 [子查询] 示例:查找所有工资超过平均工资的员工列表 (03:45) 8-4 [子查询] 示例:查找工资zg的员工 (02:01) 8-5 [子查询] 示例:查找与史密斯的职位相同员工 (03:16) 8-6 [子查询] 示例:查找谁的工资超过了工资zg的销售人员 (03:07) 8-7 [子查询] 示例:查找职位与克拉克相同,且工资超过克拉克的员 (05:21) 8-8 [子查询] 示例:查找资格最老的员工 (02:27) 8-9 [子查询] 示例:查找员工表中工资第二高的工资 (03:24) 8-10 [子查询] 示例:查找销售部所有员工列表 (06:31) 8-11 [子查询] 示例:查找与史密斯或克拉克职位不同的所有员工列表 (03:13) 8-12 [子查询] 示例:查找超出平均工资员工所在部门列表 (04:33) 8-13 [子查询] 示例:查找员工表中工资第三高的员工信息 (05:57) 8-14 [子查询] 示例:删除部门所在地在纽约的所有员工 (04:13) 8-15 [子查询] 示例:给所有低于平均工资的员工涨工资 (03:47) 8-16 [子查询] 第8章【课后习题】 (03:36) 9-1 [表连接] 表连接概念 (08:55) 9-2 [表连接] 内连接 (07:42) 9-3 [表连接] 左连接 (06:12) 9-4 [表连接] 右连接 (07:51) 9-5 [表连接] 全连接 (07:04) 9-6 [表连接] 交叉连接 (05:01) 9-7 [表连接] 第9章【课后习题】 (04:44)





