SQLServer教程
精华
小牛编辑
268浏览
2023-03-14
MS SQL Server是Microsoft开发的关系数据库管理系统(RDBMS)。 本产品专为存储其他应用程序所需的检索数据的基本功能而构建。 它可以在同一台计算机上运行,也可以在网络上运行。 本教程介绍了SQL Server的一些基本和高级概念,例如:如何创建和恢复数据,创建登录和备份,分配权限等。每个主题都使用示例进行解释,以便于理解。
如果您正在寻找一种简单,快速,高效的方法来掌握SQL Server数据库,那么算您来对地方了。我们的SQL Server教程很实用,包括许多实践操作。
完成教程的学习后,您将能够:
- 查询SQL Server数据库中表的数据。
- 创建数据库对象,例如表,视图,存储过程,用户定义的函数,触发器。
- 有效管理SQL Server数据库。
下面可以按照以下列出的章节进行学习,或者选择感兴趣的部分进行学习和实践。
第1节. 查询数据
本节将学习如何从SQL Server数据库查询数据。从一个简单的查询开始,演示如何从单个表中检索数据。
- SELECT - 演示如何从单个表中查询数据。
第2节. 对数据进行排序
- ORDER BY - 根据指定列列表中的值对结果集进行排序。
第3节. 限制返回行数
SQL Server中限制返回行数,有两种方式:
- OFFSET FETCH - 限制查询返回的行数。
- SELECT TOP - 限制查询结果集中返回的行数或行百分比。
第4节. 过滤数据
- DISTINCT - 在表的一列或多列中选择不同的值。
- WHERE - 根据一个或多个条件过滤查询输出中的行。
- AND - 组合两个布尔表达式,如果所有表达式都为
true
,则返回true
。 - OR - 组合两个布尔表达式,如果其中一个条件为
true
,则返回true
。 - IN - 检查值是否与列表或子查询中的任何值匹配,如果匹配则返回
true
。 - BETWEEN - 测试值是否在一系列值之间。
- LIKE - 检查字符串是否与指定的模式匹配。
- 列和表别名 - 显示如何使用列别名来更改查询输出和表别名的标题,以提高查询的可读性。
第5节. 连接表
- 连接概述 - 简要概述SQL Server中的连接类型,包括内连接,左连接,右连接和完全外连接。
- INNER JOIN - 从表中选择在另一个表中具有匹配行的行。
- LEFT JOIN - 返回左表中的所有行以及右表中的匹配行。 如果右表没有匹配的行,则右表中的列值使用
NULL
值。 - RIGHT JOIN - 学习左连接的反转版本。
- FULL OUTER JOIN - 如果不存在匹配的行,则返回左右表中的匹配行以及每侧的行。
- CROSS JOIN - 连接多个不相关的表,并在连接表中创建行的笛卡尔积。
- 自联接 - 显示如何使用自联接查询分层数据并比较同一表中的行。
第6节. 分组数据
- GROUP BY - 根据指定列表达式列表中的值对查询结果进行分组。
- HAVING - 指定组或聚合的搜索条件。
- GROUPING SETS - 生成多个分组集合。
- CUBE - 生成包含维列的所有组合的分组集。
- ROLLUP - 生成分组集,假设输入列之间存在层次结构。
第7节. 子查询
本节介绍子查询,子查询是嵌套在另一个语句(如SELECT
,INSERT
,UPDATE
或DELETE
语句)中的查询。
- 子查询 - 解释子查询概念并向演示如何使用各种子查询类型来选择数据。
- 相关子查询 - 介绍相关子查询概念以及如何使用。
- EXISTS - 测试子查询返回的行的存在性。
- ANY - 将值与子查询返回的单列值集进行比较,如果返回
TRUE
,则该值与集合中的任何值匹配。 - ALL - 将值与子查询返回的单列值集进行比较,如果返回
TRUE
,则该值与集合中的所有值匹配。
第8节. 集合运算符
本节将指导如何使用集合运算符(包括:union
,intersect
和except
)来组合输入查询中的多个结果集。
- UNION - 将两个或多个查询的结果集合并到一个结果集中。
- INTERSECT - 返回两个或多个查询的结果集的交集。
- EXCEPT - 查找两个输入查询的两个结果集之间的差集。
第9节. 修改数据
在本节中,将学习如何更改SQL Server数据库中表的内容。 用于修改数据(如插入,删除和更新)的SQL命令称为数据操作语言(DML)。
- INSERT - 在表中插入一行
- INSERT多行 - 使用单个
INSERT
语句将多行插入表中。 - INSERT INTO SELECT - 根据查询结果将数据插入表中。
- 更新 - 更改表中的现有值。
- 删除 - 删除表的一行或多行数据记录。
- MERGE - 使用单个语句指导如何执行插入,更新和删除的混合步骤。
第10节. 数据定义
本节介绍如何管理数据库对象,包括数据库和表。
- CREATE TABLE - 学习如何在数据库的特定模式中创建新表。
- 标识列 - 了解如何使用
IDENTITY
属性为表创建标识列。 - ALTER TABLE ADD列 - 演示如何将一个或多个列添加到现有表
- ALTER TABLE ALTER COLUMN - 演示如何更改表中现有列的定义。
- ALTER TABLE DROP COLUMN - 了解如何从表中删除一个或多个列。
- DROP TABLE - 演示如何从数据库中删除表。
- TRUNCATE TABLE - 如何更快,更有效地删除表中的所有数据。
- 重命名表 - 引导完成将表重命名为新表的过程。
第11节. SQL Server数据类型
在本节中,概述了内置的SQL Server数据类型。它们的用法分别如下所示:
- BIT - 使用
BIT
数据类型在数据库中存储位数据,即:0
,1
或NULL
。 - INT - 了解SQL服务器中的各种整数类型,包括
BIGINT
,INT
,SMALLINT
和TINYINT
。 - DECIMAL - 演示如何使用
DECIMAL
或NUMERIC
数据类型在数据库中存储精确数值。 - CHAR - 演示如何在数据库中存储固定长度的非Unicode字符串。
- NCHAR - 演示如何存储固定长度的Unicode字符串,并解释
CHAR
和NCHAR
数据类型之间的差异。 - VARCHAR - 在数据库中存储可变长度的非Unicode字符串数据。
- NVARCHAR - 了解如何在表中存储可变长度的Unicode字符串数据,并了解
VARCHAR
和NVARCHAR
之间的主要区别。 - DATETIME2 - 演示如何将日期和时间数据存储在数据库中。
- DATE - 学习如何将日期数据类型以及如何在表格中存储日期。
- TIME - 学习如何使用时间数据类型将时间数据存储在数据库中。
- DATETIMEOFFSET - 演示如何使用时区操作日期时间。
第12节. 约束
- 主键 - 介绍主键概念,并演示如何使用主键约束来管理表的主键。
- 外键 - 介绍外键概念,并演示使用
FOREIGN KEY
约束来强制执行两个表中的数据链接。 - NOT NULL约束 - 演示如何确保列不接受NULL。
- UNIQUE约束 - 如何确保列或列组中包含的数据在表中的行之间是唯一的。
- CHECK约束 - 在将数据存储到表中之前,学习如何添加逻辑以检查数据的过程。