### SQL21天自学通知识点概述 #### 第一天:SQL简介 - **SQL简史**: - SQL(Structured Query Language)是一种用于管理和处理关系型数据库的标准语言。 - SQL的发展始于1970年代早期,由IBM的研究员E.F. Codd提出的关系数据库理论启发了SQL的设计。 - 1970年代中期,IBM开始研发基于关系模型的数据库管理系统System R,这标志着SQL语言的实际应用开端。 - 1980年代初期,美国国家标准局(ANSI)和国际标准化组织(ISO)开始着手制定SQL标准。 - 随着时间的发展,SQL标准不断更新,最新的版本为SQL:2016。 - **数据库简史**: - 数据库技术的历史可以追溯到1960年代,最初的数据管理方式是文件系统。 - 1970年代,随着关系型数据库的出现,数据管理进入了一个新的阶段。 - 1980年代至1990年代,关系型数据库系统得到了广泛应用,成为主流的数据存储和管理方式。 - 进入21世纪后,非关系型数据库(NoSQL)逐渐兴起,提供了更多样的数据存储解决方案。 - **设计数据库的结构**: - 设计数据库结构包括定义数据表、字段及其数据类型。 - 关键概念如主键(Primary Key)、外键(Foreign Key)以及索引(Index)的定义和使用。 - 数据完整性约束(如NOT NULL、UNIQUE等)对于确保数据质量至关重要。 - **SQL总览**: - SQL语言主要分为四类:数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。 - DQL主要用于查询数据,核心是SELECT语句;DML用于增删改数据,主要包括INSERT、UPDATE、DELETE语句;DDL用于定义和修改数据库对象,例如CREATE TABLE、ALTER TABLE等;DCL用于授予或撤销访问权限,如GRANT、REVOKE等。 - **流行的SQL开发工具**: - Oracle SQL Developer:一款免费的集成开发环境,支持多种数据库。 - MySQL Workbench:MySQL官方提供的图形化工具,支持数据建模、SQL编辑等功能。 - Microsoft SQL Server Management Studio:微软推出的用于管理SQL Server的工具。 - phpMyAdmin:一款基于Web的MySQL管理工具。 - **SQL在编程中的应用**: - SQL广泛应用于各种编程环境中,作为数据存取的主要手段。 - 在Web开发中,PHP、Java、Python等语言通常会通过API调用SQL来实现与数据库的交互。 - 大多数现代框架(如Spring、Django等)也提供了ORM(对象关系映射)层,使得开发人员可以直接使用面向对象的方式操作数据库。 #### 第二天:查询——SELECT语句的使用 - **目标**:了解SELECT语句的基本语法和使用场景。 - **背景**:查询是SQL的核心功能之一,SELECT语句用于从数据库中检索数据。 - **一般的语法规则**: - SELECT * FROM 表名;(获取所有列) - SELECT 列1, 列2 FROM 表名 WHERE 条件;(根据条件筛选结果) - **你的第一个查询**:通过简单的SELECT语句查询数据表中的特定记录。 - **总结**:通过实例讲解如何使用SELECT语句进行基础的数据查询。 #### 第三天:表达式、条件语句与运算 - **表达式**:SQL中的表达式可以是常量、变量、函数、操作符等的组合。 - **条件语句**:如IF...THEN...ELSE结构,在SQL中主要用于CASE WHEN...THEN结构。 - **运算**:包括算术运算符(+、-、*、/等)和逻辑运算符(AND、OR、NOT等)。 #### 第四天:函数 - **汇总函数**: - COUNT:统计行数。 - SUM:求和。 - AVG:计算平均值。 - MAX、MIN:查找最大值、最小值。 - VARIANCE、STDDEV:计算方差和标准差。 - **日期/时间函数**: - ADD_MONTHS:添加月份。 - LAST_DAY:获取指定月份的最后一天。 - MONTHS_BETWEEN:计算两个日期之间的月份数。 - NEW_TIME:转换时区。 - NEXT_DAY:查找下一个工作日。 - SYSDATE:返回当前系统日期。 - **数学函数**: - ABS:绝对值。 - CEIL、FLOOR:向上、向下取整。 - COS、SIN、TAN:三角函数。 - 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语句中使用多个表**:使用JOIN关键字。 - **正确地找到列**:明确指出每个列来自哪个表。 - **等值联合**:通过相等条件关联表。 - **不等值联合**:通过不等条件关联表。 - **外部联合与内部联合**:内外联合的区别。 - **表的自我联合**:一个表与自身联接。 #### 第七天:子查询 - **建立一个子查询**:在查询中嵌套另一个查询。 - **在子查询中使用汇总函数**:如COUNT(*)等。 - **子查询的嵌套**:子查询可以嵌套多层。 - **相关子查询**:子查询的执行依赖于外层查询的结果。 - **EXISTS、ANY、ALL的使用**:这些关键字用于简化查询逻辑。 #### 第一周回顾 - **预览**:总结本周学习内容并预览下一周的学习重点。 - **第二周概貌**:介绍接下来一周的学习计划和目标。
剩余567页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 从XML生成可与Ajax共同使用的JSON中文WORD版最新版本
- silverlight通过WebService连接数据库中文WORD版最新版本
- 使用NetBeans连接SQLserver2008数据库教程中文WORD版最新版本
- XPath实例中文WORD版最新版本
- XPath语法规则中文WORD版最新版本
- XPath入门教程中文WORD版最新版本
- ORACLE数据库管理系统体系结构中文WORD版最新版本
- Sybase数据库安装以及新建数据库中文WORD版最新版本
- tomcat6.0配置oracle数据库连接池中文WORD版最新版本
- hibernate连接oracle数据库中文WORD版最新版本