### 21天精通SQL教程知识点详述 #### 第一天:SQL简介与历史 - **SQL简史**:SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言,首次出现在20世纪70年代初,由IBM的研究员Donald D. Chamberlin和Raymond F. Boyce开发。 - **数据库简史**:数据库技术的发展经历了层次模型、网络模型到现在的主流关系模型。SQL是关系型数据库的核心组成部分。 - **设计数据库的结构**:包括定义表结构、确定字段类型、设置主键等。 - **SQL总览**:涵盖了SQL的基本概念,如数据定义语言(DDL)、数据操纵语言(DML)等。 - **流行的SQL开发工具**: - Oracle SQL Developer - MySQL Workbench - Microsoft SQL Server Management Studio (SSMS) - PostgreSQL’s pgAdmin - SQLiteStudio - **SQL在编程中的应用**:SQL常被用于网页应用程序、数据分析等领域。 #### 第二天:查询——SELECT语句的使用 - **目标**:学习如何使用SELECT语句从数据库中检索数据。 - **背景**:理解SELECT语句对于进行基本的数据检索至关重要。 - **一般的语法规则**: - `SELECT column_name(s) FROM table_name WHERE condition;` - 示例:`SELECT name FROM students WHERE age > 18;` - **你的第一个查询**:通过一个简单的例子来展示如何执行SELECT查询。 - **总结**:回顾了SELECT语句的基础语法和使用场景。 #### 第三天:表达式、条件语句与运算 - **表达式**:用于组合SQL元素(如列名、变量、函数等)以形成更复杂的逻辑。 - **条件语句**:如`IF`、`CASE`语句,用于根据不同的条件返回不同的结果。 - **运算**:包括算术运算、比较运算等。 #### 第四天:函数——对数据的进一步处理 - **汇总函数**:用于计算单个或多个行的数据摘要信息。 - **COUNT**:计算非NULL值的数量。 - **SUM**:计算数值列的总和。 - **AVG**:计算数值列的平均值。 - **MAX**:找出一列的最大值。 - **MIN**:找出一列的最小值。 - **VARIANCE**、**STDDEV**:分别计算方差和标准差。 - **日期/时间函数**: - **ADD_MONTHS**:在日期上加几个月。 - **LAST_DAY**:获取指定月份的最后一天。 - **MONTHS_BETWEEN**:计算两个日期之间的月份数。 - **NEW_TIME**:更改时区。 - **NEXT_DAY**:查找下一个工作日。 - **SYSDATE**:返回当前系统日期。 - **数学函数**: - **ABS**:返回绝对值。 - **CEIL/FLOOR**:向上/向下取整。 - **COS/COSH/SIN/SINH/TAN/TANH**:三角函数及其双曲函数。 - **EXP/LN/LOG**:指数、自然对数和常用对数。 - **MOD**:求模。 - **POWER**:幂运算。 - **SIGN**:返回数字的符号。 - **SQRT**:平方根。 - **字符函数**: - **CHR**:返回ASCII码对应的字符。 - **CONCAT**:连接字符串。 - **INITCAP**:将字符串首字母大写。 - **LOWER/UPPER**:转换为小写/大写。 - **LPAD/RPAD**:左填充/右填充。 - **LTRIM/RTRIM**:去除左侧/右侧空白。 - **REPLACE**:替换字符。 - **SUBSTR**:提取子串。 - **TRANSLATE**:字符替换。 - **INSTR**:查找子串位置。 - **LENGTH**:字符串长度。 - **转换函数**: - **TO_CHAR**:将任何数据类型转换为字符。 - **TO_NUMBER**:将字符串转换为数字。 - **其他函数**: - **GREATEST/LEAST**:返回最大/最小值。 - **USER**:返回当前用户。 #### 第五天:SQL中的子句 - **WHERE子句**:用于过滤记录,只显示符合条件的结果。 - **STARTING WITH子句**:用于模糊匹配字符串的开头。 - **ORDER BY子句**:用于排序结果集。 - **GROUP BY子句**:用于将数据分组。 - **HAVING子句**:与GROUP BY一起使用,对组进行过滤。 - **子句的综合应用**:结合以上子句进行复杂查询。 #### 第六天:表的联合 - **介绍**:了解如何通过联合操作从多个表中检索数据。 - **在一个SELECT语句中使用多个表**:使用INNER JOIN、LEFT JOIN等。 - **正确地找到列**:确保从正确的表中选择正确的列。 - **等值联合**:基于相等条件的联接。 - **不等值联合**:基于不等条件的联接。 - **外部联合与内部联合**:外联接保留未匹配的行,内联接仅包含匹配的行。 - **表的自我联合**:同一个表的不同实例之间的联接。 #### 第七天:子查询 - **建立一个子查询**:使用子查询可以在主查询中嵌入另一个查询。 - **在子查询中使用汇总函数**:如COUNT、SUM等。 - **子查询的嵌套**:子查询可以嵌套在其他子查询中。 - **相关子查询**:子查询的结果依赖于外部查询的某一行。 - **EXISTS、ANY、ALL的使用**:用于比较子查询结果与外部查询中的每一行。 #### 第八天:操作数据 - **数据操作语句**:包括INSERT、UPDATE、DELETE等。 - **插入语句**: - **INSERT VALUES语句**:向表中插入一条或多条新记录。 - **INSERT SELECT语句**:从一个表中选择数据并插入到另一个表中。 - **UPDATE语句**:修改已有的数据。 - **DELETE语句**:删除数据。 - **从外部数据源中导入和导出数据**:支持不同类型的数据库管理系统。 #### 第九天:创建和操作表 - **CREATEDATABASE语句**:创建一个新的数据库。 - **建立数据库时的选项**:如设置字符集、指定初始大小等。 - **设计数据库**:包括规划表结构、索引等。 - **建立数据字典**:记录数据库对象的信息。 - **建立关键字段**:定义表中的主键。 - **CREATETABLE语句**:创建新的表。 - **表名**:符合数据库命名规则。 - **空值属性**:允许列中存在NULL值。 - **唯一属性**:确保列中每个值都是唯一的。 - **表的存储与尺寸的调整**:优化表的存储方式。 - **用一个已经存在的表来建表**:通过SELECT INTO语句。 - **ALTERTABLE语句**:修改现有表的结构。 - **DROPTABLE语句**:删除一个表。 - **DROPDATABASE语句**:删除一个数据库。 #### 第10天:创建视图和索引 - **使用视图**:视图是虚拟表,基于SELECT语句的结果。 - **列的重命名**:在视图中重命名列。 - **SQL对视图的处理过程**:视图如何在查询时动态构建。 以上内容涵盖了《21天精通SQL教程》的部分章节知识点,这些知识点是学习SQL语言的基础,对于掌握数据库管理和数据分析技能非常关键。



















剩余567页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- STC89C52RC单片机手册.doc
- lowRISC-硬件开发资源
- 网络安全评估和安全法规.ppt
- 高质量C++编程学习笔记.doc
- 欧司朗普通照明产品网络营销年度方案.pptx
- 某网络系统有限公司商业计划书.docx
- 楼宇自动化论文(1).pdf
- 通信设备公司财务管理手册.doc
- 气象局网络视频监控系统方案.doc
- 2022年MATLAB复习知识点整理版.docx
- 中国网络广告效果营销发展趋势――效果网提供.ppt
- 建立卫生网络体系提升群众医疗保障水平调研思考.pdf
- 网络安全宣传周的活动总结2021年.doc
- 中铁工程项目管理标准化手册检查用表(30个).docx
- 基于AT89C51单片机的16x16LED点阵显示的课程设计.doc
- 中国人民银行招聘笔试计算机习题1.docx


