当前位置: 首页 > 教程 > SQL Server >

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节. 子查询

本节介绍子查询,子查询是嵌套在另一个语句(如SELECTINSERTUPDATEDELETE语句)中的查询。

  • 子查询 - 解释子查询概念并向演示如何使用各种子查询类型来选择数据。
  • 相关子查询 - 介绍相关子查询概念以及如何使用。
  • EXISTS - 测试子查询返回的行的存在性。
  • ANY - 将值与子查询返回的单列值集进行比较,如果返回TRUE,则该值与集合中的任何值匹配。
  • ALL - 将值与子查询返回的单列值集进行比较,如果返回TRUE,则该值与集合中的所有值匹配。

第8节. 集合运算符

本节将指导如何使用集合运算符(包括:unionintersectexcept)来组合输入查询中的多个结果集。

  • 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,1NULL
  • INT - 了解SQL服务器中的各种整数类型,包括BIGINTINTSMALLINTTINYINT
  • DECIMAL - 演示如何使用DECIMALNUMERIC数据类型在数据库中存储精确数值。
  • CHAR - 演示如何在数据库中存储固定长度的非Unicode字符串。
  • NCHAR - 演示如何存储固定长度的Unicode字符串,并解释CHARNCHAR数据类型之间的差异。
  • VARCHAR - 在数据库中存储可变长度的非Unicode字符串数据。
  • NVARCHAR - 了解如何在表中存储可变长度的Unicode字符串数据,并了解VARCHARNVARCHAR之间的主要区别。
  • DATETIME2 - 演示如何将日期和时间数据存储在数据库中。
  • DATE - 学习如何将日期数据类型以及如何在表格中存储日期。
  • TIME - 学习如何使用时间数据类型将时间数据存储在数据库中。
  • DATETIMEOFFSET - 演示如何使用时区操作日期时间。

第12节. 约束

  • 主键 - 介绍主键概念,并演示如何使用主键约束来管理表的主键。
  • 外键 - 介绍外键概念,并演示使用FOREIGN KEY约束来强制执行两个表中的数据链接。
  • NOT NULL约束 - 演示如何确保列不接受NULL。
  • UNIQUE约束 - 如何确保列或列组中包含的数据在表中的行之间是唯一的。
  • CHECK约束 - 在将数据存储到表中之前,学习如何添加逻辑以检查数据的过程。