SQL Server 是由 Microsoft 开发的关系型数据库管理系统(RDBMS)。它使用 SQL 编程语言来管理和访问数据库。总体而言,SQL Server 旨在让用户存储海量数据、轻松且安全地访问数据,并确保在数据库及相关领域中的准确性。
本教程将带您了解 SQL Server 的基础知识,解释它是什么、为什么要使用它,以及在 SQL Server 上的一些基本流程,包括基本特性和功能。本文可作为我们《SQL Server 入门》课程 的有益补充资源。
什么是 SQL Server?
SQL Server 的第一个版本 v1.0 于 1989 年发布。此后经历了多次迭代,最新版本 SQL Server 2022 于 2022 年 11 月发布。
在各个版本的演进中,许多关键功能被加入到产品中,包括:
数据库引擎,用于存储、处理、保护数据,并管理关系型和 XML 数据。
分析服务,用于创建联机分析处理和数据挖掘应用。
报表服务,用于创建不同类型的报表。
集成服务,用于移动、复制、转换数据并确保数据质量。
主数据服务,用于管理访问、安全、数据版本控制、业务规则和数据请求。
机器学习服务,使用数据源构建可扩展的机器学习应用。
Azure 连接服务,可按需计费地利用 Microsoft 的云计算产品。
在 RDBMS 领域,SQL Server 主要与 MySQL 和 Oracle 竞争。SQL Server 可与其他 Microsoft 产品良好集成,可在 Windows 和 Linux 上良好运行,提供免费版本,与 Azure 的云数据库选项集成良好,且相对容易学习和使用。
SQL Server 适用于大多数用户,且相比 Oracle 更便宜;Oracle 要访问其全部功能需要更多许可。MySQL 是免费的开源选项,但缺少 SQL Server 和 Oracle 提供的一些高级功能。
为何使用 SQL Server?
我们在上文已涵盖了 SQL Server 提供的众多重要功能。这里想重点强调一些让 SQL Server 成为优秀 RDBMS 方案的特性。通过我们的 SQL Server for Database Administrators 课程,您可以更深入地学习这些功能。
SQL Server 具备良好的可扩展性,并能在任何规模的数据库上提供出色性能——无论您是在小型数据库上自学使用该系统,还是在企业环境中处理 PB 级数据。
扩展 系统非常容易,您可以利用 Microsoft 的 Azure 弹性数据库工具,随着需求增长提升数据库的规模和性能。Azure 提供按需付费模式,按需为所使用的服务器付费。Azure 还提供纵向扩展(提升服务器计算能力)和横向扩展(按需购买更多数据库与存储容量)。
在本地机器上,SQL Server 同样扩展良好,且在硬件允许的情况下可处理大型数据库。
您会发现 SQL Server 提供了一系列安全功能,帮助企业确保重要数据仅对正确的人可见。这通过列级保护(确保具有适当权限的人可查看数据库中特定列数据)、行级保护(确保具有相应角色的人才能查看特定行数据)以及文件加密(确保无权访问者无法读取文件)来实现。
最后,SQL Server 还提供一系列商业智能能力,包括数据建模、报表,以及以最小投入访问本地和云端数据。作为 Microsoft 产品生态的一部分,SQL Server 通过 Power BI 提供 BI 解决方案。
SQL Server 版本
SQL Server 提供多个不同版本:
SQL Server Express :入门级免费数据库版本,适合构建小型应用并学习 SQL Server 的个人用户。
SQL Server Standard :可使用大多数基础数据管理和商业智能数据库资源,适合 IT 资源较少的小型企业。
SQL Server Enterprise :功能齐全的高级选项,支持更高级的功能,如数据中心能力、更快的性能以及端到端商业智能。
选择最佳版本取决于您对 SQL Server 的需求。
如果您刚刚起步 ,想学习如何使用 SQL Server,或您是独立开发者,Express 可能是最佳选择。
如果您在小团队中 以有限资源构建数据库系统,Standard 版本可能更合适。
如果您属于大型组织 ,有特定要求或更复杂的数据库需求,Enterprise 版本很可能是三者中最优的。
每个选项都支持升级到更高级的版本(例如从 Express 过渡到 Standard)。
如何设置 SQL Server
接下来进入本 SQL Server 教程的主要部分,我们将简要介绍如何完成 SQL Server 的设置,以及如何通过一些基本操作和高级功能来使用 SQL Server。
1. 系统要求
完整的软硬件要求可在Microsoft 文档 中找到。总体而言,这些要求并不苛刻:需要 6GB 可用硬盘空间、512MB-1GB 可用内存,以及不错的处理器(最低 1.4GHz,建议 2.0GHz 或更高)。SQL Server 需要 Windows 10 或 Windows Server 2016 或更高版本,现在也可在 Linux 上使用。
2. 安装 SQL Server
在确定您感兴趣的版本并确认系统满足所需软硬件要求后,即可开始安装 SQL Server。下载 SQL Server 有多种选项。在该链接处,选择您要下载的版本并点击蓝色的“Download now”按钮。随后按安装程序界面逐步完成安装。
您还需要下载 SQL Server Management Studio(SSMS)作为使用 SQL Server 的界面。前往 SSMS 下载页面 ,向下滚动至“Free Download for SQL Server Management Studio”按钮以下载该工具。Azure Data Studio 和 Visual Studio 也是可选项,但我们推荐使用 SSMS,因为其他选项缺少一些功能。
3. SQL Server 初始配置
安装 SQL Server 和 SSMS 后,打开 SSMS 开始使用。在“Connect to Server”连接界面,将 Server Type 设置为 Database Engine,Server Name 设置为 SQL Express 或 SQL Developer(取决于您安装的版本)。如果您想下载 Microsoft 的示例数据库,AdventureWorks 示例数据库 是一个免费且易于设置的快速入门选项。
SQL Server 基本操作
如果您是 SQL Server 新手,以下是一些基本步骤:
在 SQL Server 中创建数据库
您可以通过 SSMS 界面或使用 SQL 代码来创建数据库。
使用 SSMS 界面创建数据库,步骤如下:
在左侧的对象资源管理器中,右键点击 Databases 文件夹并选择 New Database
输入数据库名称
您可以点击 OK 接受默认选项,或在可选设置菜单中选择更细化的选项。
要创建一个名为 Tutorial 的数据库,您可以使用下面的语法,结合 CREATE DATABASE 和 LOG ON 命令。
USE master;
GO
CREATE DATABASE Tutorial ON
( NAME = Tutorial_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL19.MSSQLSERVER\MSSQL\DATA\tutorialdat.mdf' ,
SIZE = 10 ,
MAXSIZE = 50 ,
FILEGROWTH = 5 )
LOG ON
( NAME = Tutorial_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL19.MSSQLSERVER\MSSQL\DATA\tutoriallog.ldf' ,
SIZE = 5 MB,
MAXSIZE = 25 MB,
FILEGROWTH = 5 MB) ;
GO
技术支持
在 SQL Server 中创建表
要在数据库中创建表,用户需要具备 CREATE TABLE 权限。同样,创建表既可以通过 SSMS 界面完成,也可以使用 Transact-SQL。
在 SSMS 表设计器中创建表,需按以下步骤进行:
在对象资源管理器中,连接到您要创建表的数据库。
在对象资源管理器中点击数据库名称旁的加号,展开要添加表的数据库。
右键点击 Tables 节点并选择 New Table。
随后可指定列名、数据类型,以及值是否允许为空(null)。
如需将某列指定为主键,可右键该列并点击 Set Primary Key。
如需在表之间创建关系,右键点击该表并点击 Relationships。
若要使用 Transact-SQL 创建表,我们可以使用 CREATE TABLE 命令,并在列名后指定数据类型以及是否可为空,如下所示:
CREATE TABLE dbo. TutorialTable (
ID INT NOT NULL PRIMARY KEY,
Name TEXT NOT NULL,
Email TEXT NOT NULL,
Age INT NULL
) ;
技术支持
SQL Server 中的基本 SQL 查询
我们已在创建表的过程中见过 SQL 查询的基本语法。SQL 依赖简洁的动词式语法,通过一小组动词执行特定操作,例如上一节中的 CREATE TABLE。接下来我们将介绍从这些表中检索数据(即查询)的基础知识;如果您想更好地练习并掌握 SQL,欢迎查看我们的 SQL Server 基础 学习路径。
检索数据的基本语法依赖 SELECT、FROM 和 WHERE 关键字。SELECT 指定我们要从表中检索的列,FROM 指定要查询的表名,WHERE 指定要包含的数据条件。例如,如果我们想查看在上文创建的 TutorialTable 表中,所有年龄大于 30 岁的人的姓名和邮箱,可使用以下查询:
SELECT Name, Email
From TutorialTable
WHERE Age > 30 ; 技术支持
还有许多 SQL 概念,如函数以及对数据分组求汇总等,超出了本教程的范围。若您想进一步学习这些概念,请查看我们的 SQL Server 进阶 课程。
SQL Server 高级功能
存储过程
存储过程是可复用的已保存 SQL 代码。可使用如下的 CREATE PROCEDURE 命令创建:
CREATE PROCEDURE procedure_name AS
SQL_Statement
GO;
技术支持
随后可使用以下 SQL 代码执行该过程:
EXEC procedure_name; 技术支持
触发器
触发器是一种在数据库服务器发生某些事件时自动运行的存储过程。可设置在创建、修改或删除表时,或用户登录数据库时触发。可使用 CREATE TRIGGER 命令进行设置,如下所示。
CREATE TRIGGER trigger_name
ON table_name
[ BEFORE or AFTER ] [ INSERT AND / OR UPDATE AND / OR DELETE ]
AS
tigger_code;
GO
技术支持
视图
视图是一种由查询定义的表。视图可像普通表一样被查询。视图充当对表的引用,因此如果表中的值被更新,视图也会随之更新。视图相当于底层表的一个筛选版本,使更复杂的查询更易编写与阅读。例如,如果我们想基于“基本 SQL 查询”一节中的查询创建一个视图,可使用如下语法:
CREATE VIEW email_view AS
SELECT Name, Email
From TutorialTable
WHERE Age > 30 ; 技术支持
使用 SQL Server 的最佳实践
在 SQL Server 中顺利开展工作,需要遵循关键的最佳实践来保障并优化您的数据管理。无论您是经验丰富的管理员还是初学者,这些准则对确保数据安全、优化性能与平稳运行都至关重要。
通过定期备份优先保障数据安全
您需要防范意外的数据管理错误或服务器的物理损坏。为此,您应当:
创建数据备份,防止因误删或其他意外导致不可逆的数据丢失。
将数据副本存放在安全的异地位置,以防自然灾害或硬件故障等现场问题。
实施定期备份计划,尽量减少数据丢失,并确保可从最近时间点进行恢复。
查阅 Microsoft 关于数据备份流程的全面文档 以获取详细指导。
通过调优优化数据库性能
为提升数据库的效率与响应速度,您应通过以下方式监控并优化其性能:
利用 SQL Server 的监控功能,洞察用户行为与数据库交互。
分析收集的数据,识别可能的瓶颈或可通过资源重新分配而受益的区域。
基于分析实施调整,确保资源得到最佳利用并最大化性能。
以稳健的安全措施维护数据完整性
数据访问应仅限获授权人员,从而保持机密性与合规性。您可以遵循以下步骤:
实施列级和行级安全策略,根据用户权限控制特定数据与变量的可见性。
采用文件加密方法以保护数据,防止未授权访问。
通过物理与网络安全措施减轻潜在的硬件与基础设施威胁。
结语
在本文中,我们介绍了 SQL Server 的基础,包括它是什么、为什么要使用它以及如何安装。随后我们讲解了创建、管理和查询数据库的一些基础操作。最后,我们还探讨了若干高级功能和最佳实践,以便最大限度发挥 SQL Server 的价值。
如需更深入的 SQL Server 入门介绍,请查看 DataCamp 的《SQL Server 入门》课程 ;若想学习更高级的 SQL 主题,请查看我们的《SQL Server 进阶》 课程。
SQL Server 是由 Microsoft 开发的关系型数据库管理系统(RDBMS)。它使用 SQL 编程语言来管理和访问数据库。总体而言,SQL Server 旨在让用户存储海量数据、轻松且安全地访问数据,并确保在数据库及相关领域中的准确性。
本教程将带您了解 SQL Server 的基础知识,解释它是什么、为什么要使用它,以及在 SQL Server 上的一些基本流程,包括基本特性和功能。本文可作为我们《SQL Server 入门》课程的有益补充资源。
什么是 SQL Server?
SQL Server 的第一个版本 v1.0 于 1989 年发布。此后经历了多次迭代,最新版本 SQL Server 2022 于 2022 年 11 月发布。
在各个版本的演进中,许多关键功能被加入到产品中,包括:
在 RDBMS 领域,SQL Server 主要与 MySQL 和 Oracle 竞争。SQL Server 可与其他 Microsoft 产品良好集成,可在 Windows 和 Linux 上良好运行,提供免费版本,与 Azure 的云数据库选项集成良好,且相对容易学习和使用。
SQL Server 适用于大多数用户,且相比 Oracle 更便宜;Oracle 要访问其全部功能需要更多许可。MySQL 是免费的开源选项,但缺少 SQL Server 和 Oracle 提供的一些高级功能。
为何使用 SQL Server?
我们在上文已涵盖了 SQL Server 提供的众多重要功能。这里想重点强调一些让 SQL Server 成为优秀 RDBMS 方案的特性。通过我们的 SQL Server for Database Administrators 课程,您可以更深入地学习这些功能。
SQL Server 具备良好的可扩展性,并能在任何规模的数据库上提供出色性能——无论您是在小型数据库上自学使用该系统,还是在企业环境中处理 PB 级数据。
扩展系统非常容易,您可以利用 Microsoft 的 Azure 弹性数据库工具,随着需求增长提升数据库的规模和性能。Azure 提供按需付费模式,按需为所使用的服务器付费。Azure 还提供纵向扩展(提升服务器计算能力)和横向扩展(按需购买更多数据库与存储容量)。
在本地机器上,SQL Server 同样扩展良好,且在硬件允许的情况下可处理大型数据库。
您会发现 SQL Server 提供了一系列安全功能,帮助企业确保重要数据仅对正确的人可见。这通过列级保护(确保具有适当权限的人可查看数据库中特定列数据)、行级保护(确保具有相应角色的人才能查看特定行数据)以及文件加密(确保无权访问者无法读取文件)来实现。
最后,SQL Server 还提供一系列商业智能能力,包括数据建模、报表,以及以最小投入访问本地和云端数据。作为 Microsoft 产品生态的一部分,SQL Server 通过 Power BI 提供 BI 解决方案。
SQL Server 版本
SQL Server 提供多个不同版本:
选择最佳版本取决于您对 SQL Server 的需求。
每个选项都支持升级到更高级的版本(例如从 Express 过渡到 Standard)。
如何设置 SQL Server
接下来进入本 SQL Server 教程的主要部分,我们将简要介绍如何完成 SQL Server 的设置,以及如何通过一些基本操作和高级功能来使用 SQL Server。
1. 系统要求
完整的软硬件要求可在Microsoft 文档中找到。总体而言,这些要求并不苛刻:需要 6GB 可用硬盘空间、512MB-1GB 可用内存,以及不错的处理器(最低 1.4GHz,建议 2.0GHz 或更高)。SQL Server 需要 Windows 10 或 Windows Server 2016 或更高版本,现在也可在 Linux 上使用。
2. 安装 SQL Server
在确定您感兴趣的版本并确认系统满足所需软硬件要求后,即可开始安装 SQL Server。下载 SQL Server 有多种选项。在该链接处,选择您要下载的版本并点击蓝色的“Download now”按钮。随后按安装程序界面逐步完成安装。
您还需要下载 SQL Server Management Studio(SSMS)作为使用 SQL Server 的界面。前往 SSMS 下载页面,向下滚动至“Free Download for SQL Server Management Studio”按钮以下载该工具。Azure Data Studio 和 Visual Studio 也是可选项,但我们推荐使用 SSMS,因为其他选项缺少一些功能。
3. SQL Server 初始配置
安装 SQL Server 和 SSMS 后,打开 SSMS 开始使用。在“Connect to Server”连接界面,将 Server Type 设置为 Database Engine,Server Name 设置为 SQL Express 或 SQL Developer(取决于您安装的版本)。如果您想下载 Microsoft 的示例数据库,AdventureWorks 示例数据库是一个免费且易于设置的快速入门选项。
SQL Server 基本操作
如果您是 SQL Server 新手,以下是一些基本步骤:
在 SQL Server 中创建数据库
您可以通过 SSMS 界面或使用 SQL 代码来创建数据库。
使用 SSMS 界面创建数据库,步骤如下:
Databases文件夹并选择New DatabaseOK接受默认选项,或在可选设置菜单中选择更细化的选项。要创建一个名为
Tutorial的数据库,您可以使用下面的语法,结合CREATE DATABASE和LOG ON命令。在 SQL Server 中创建表
要在数据库中创建表,用户需要具备
CREATE TABLE权限。同样,创建表既可以通过 SSMS 界面完成,也可以使用 Transact-SQL。在 SSMS 表设计器中创建表,需按以下步骤进行:
Tables节点并选择New Table。Set Primary Key。Relationships。若要使用 Transact-SQL 创建表,我们可以使用
CREATE TABLE命令,并在列名后指定数据类型以及是否可为空,如下所示:SQL Server 中的基本 SQL 查询
我们已在创建表的过程中见过 SQL 查询的基本语法。SQL 依赖简洁的动词式语法,通过一小组动词执行特定操作,例如上一节中的
CREATE TABLE。接下来我们将介绍从这些表中检索数据(即查询)的基础知识;如果您想更好地练习并掌握 SQL,欢迎查看我们的 SQL Server 基础学习路径。检索数据的基本语法依赖
SELECT、FROM和WHERE关键字。SELECT指定我们要从表中检索的列,FROM指定要查询的表名,WHERE指定要包含的数据条件。例如,如果我们想查看在上文创建的TutorialTable表中,所有年龄大于 30 岁的人的姓名和邮箱,可使用以下查询:还有许多 SQL 概念,如函数以及对数据分组求汇总等,超出了本教程的范围。若您想进一步学习这些概念,请查看我们的 SQL Server 进阶课程。
SQL Server 高级功能
存储过程
存储过程是可复用的已保存 SQL 代码。可使用如下的
CREATE PROCEDURE命令创建:随后可使用以下 SQL 代码执行该过程:
触发器
触发器是一种在数据库服务器发生某些事件时自动运行的存储过程。可设置在创建、修改或删除表时,或用户登录数据库时触发。可使用
CREATE TRIGGER命令进行设置,如下所示。视图
视图是一种由查询定义的表。视图可像普通表一样被查询。视图充当对表的引用,因此如果表中的值被更新,视图也会随之更新。视图相当于底层表的一个筛选版本,使更复杂的查询更易编写与阅读。例如,如果我们想基于“基本 SQL 查询”一节中的查询创建一个视图,可使用如下语法:
使用 SQL Server 的最佳实践
在 SQL Server 中顺利开展工作,需要遵循关键的最佳实践来保障并优化您的数据管理。无论您是经验丰富的管理员还是初学者,这些准则对确保数据安全、优化性能与平稳运行都至关重要。
通过定期备份优先保障数据安全
您需要防范意外的数据管理错误或服务器的物理损坏。为此,您应当:
查阅 Microsoft 关于数据备份流程的全面文档以获取详细指导。
通过调优优化数据库性能
为提升数据库的效率与响应速度,您应通过以下方式监控并优化其性能:
以稳健的安全措施维护数据完整性
数据访问应仅限获授权人员,从而保持机密性与合规性。您可以遵循以下步骤:
结语
在本文中,我们介绍了 SQL Server 的基础,包括它是什么、为什么要使用它以及如何安装。随后我们讲解了创建、管理和查询数据库的一些基础操作。最后,我们还探讨了若干高级功能和最佳实践,以便最大限度发挥 SQL Server 的价值。
如需更深入的 SQL Server 入门介绍,请查看 DataCamp 的《SQL Server 入门》课程;若想学习更高级的 SQL 主题,请查看我们的《SQL Server 进阶》课程。