MSSQL 使用教程:从入门到实践

本教程将分为以下几个主要部分:

mssql 使用教程
(图片来源网络,侵删)
  1. 第一部分:准备工作 - 安装与配置
  2. 第二部分:核心概念 - 数据库、表与数据类型
  3. 第三部分:数据操作 - T-SQL 基础
  4. 第四部分:进阶管理 - 索引、视图与存储过程
  5. 第五部分:工具与生态 - SSMS 与其他工具
  6. 第六部分:最佳实践与学习资源

第一部分:准备工作 - 安装与配置

在开始之前,你需要一个可以运行 SQL Server 的环境。

选择 SQL Server 版本

  • SQL Server Developer Edition(开发者版):功能最全的版本,免费,但只能用于开发和测试,不能用于生产环境。强烈推荐初学者使用此版本。
  • SQL Server Express Edition(Express 版):免费的轻量级版本,有数据库大小和内存使用的限制,适合小型应用和个人学习。
  • SQL Server Evaluation Edition(评估版):免费试用 180 天,拥有所有企业版功能,适合体验完整功能。
  • Azure SQL Database:微软云上的数据库服务,无需安装,按需付费,适合云端应用。

安装 SQL Server

以最常用的 SQL Server Developer Edition 为例:

  1. 下载安装程序

  2. 运行安装程序

    mssql 使用教程
    (图片来源网络,侵删)
    • 双击运行下载的 SQLServer2025-x64-DEV.iso 或解压后的 setup.exe
    • 选择“安装” -> “SQL Server 2025 (或你下载的版本) 的全新安装或向现有安装添加功能”。
  3. 产品密钥

    选择“具有免费许可证的 SQL Server 开发人员”。

  4. 安装程序支持文件

    点击“安装”,等待检测完成。

  5. 功能选择

    • 这是关键步骤,对于初学者,勾选以下核心组件即可:
      • 数据库引擎服务:核心组件,负责存储和处理数据。
      • SQL Server Management Studio:图形化管理工具,用于编写查询、管理数据库。
      • SQL Server Data Tools:用于开发商业智能和数据库项目。
    • 点击“下一步”。
  6. 配置实例

    • 实例 ID:默认是 MSSQLSERVER(默认实例),如果只安装一个,保持默认即可,如果需要安装多个,可以命名一个命名实例(如 SQL2025)。
    • 服务器配置:设置服务账户,保持默认即可(NT AUTHORITY\SYSTEM)。
    • 数据库引擎配置
      • 身份验证模式
        • Windows 身份验证模式:只能使用 Windows 用户登录,最安全。
        • 混合模式:可以使用 Windows 用户和 SQL Server 用户(如 sa)登录,初学者为了方便,可以选择此模式,并sa 用户设置一个强密码
      • 数据目录:可以修改数据文件和日志文件的默认存储位置。
    • 点击“下一步”。
  7. 安装规则与准备

    系统会自动检查,确保所有规则都通过,点击“下一步”。

  8. 安装

    等待安装过程完成,这可能需要一些时间,完成后,点击“下一步”,完成”。

连接与验证

安装完成后,我们需要连接到数据库服务器。

  1. 启动 SQL Server Management Studio (SSMS)

    开始菜单中找到并打开 "Microsoft SQL Server Management Studio"。

  2. 连接到服务器

    • 服务器类型:默认 数据库引擎 即可。
    • 服务器名称:如果是本地默认实例,输入 或 (local)localhost,如果是命名实例,输入 localhost\实例名(如 localhost\SQL2025)。
    • 身份验证:如果之前选择了“混合模式”,选择 SQL Server 身份验证,然后输入用户名 sa 和你设置的密码,如果选择“Windows 身份验证”,则无需输入密码。
    • 点击“连接”。
  3. 成功标志

    连接成功后,你会看到一个名为 "对象资源管理器" 的窗口,左侧列出了服务器上的所有数据库、安全性、服务器对象等。


第二部分:核心概念 - 数据库、表与数据类型

想象一个图书馆,SQL Server 就是整个图书馆管理系统。

  • SQL Server (实例):整个图书馆。
  • 数据库:图书馆里的一个书架,专门存放某一类书籍(如“历史书架”、“科技书架”)。
  • :书架上的某一本书,书里的每一章都是一个主题。
  • :书中的每一行文字,代表一条完整的信息。
  • :书中的每一列,代表信息的一个属性(如作者、标题、出版日期)。
  • 数据类型:规定了列中能存放什么类型的数据(如文字、数字、日期)。

创建数据库

在 SSMS 中,我们可以用图形界面或代码来创建。

使用图形界面 (SSMS)

  1. 在 "对象资源管理器" 中,展开服务器节点。
  2. 右键点击 "数据库" -> "新建数据库"。
  3. 输入数据库名称,MySchoolDB
  4. 点击 "确定"。

使用 T-SQL 代码

  1. 在 SSMS 中,点击 "新建查询" 按钮,打开一个查询编辑器窗口。
  2. 输入以下代码:
    CREATE DATABASE MySchoolDB;
  3. 点击 "执行" (或按 F5),在 "对象资源管理器" 中刷新,就能看到新创建的数据库。

创建表

表是存储数据的基本结构,创建表前,需要先指定要在哪个数据库中操作。

-- 1. 切换到要操作的数据库
USE MySchoolDB;
GO
-- 2. 创建一个 Students 表
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,          -- 学号,整数类型,主键(唯一且非空)
    StudentName NVARCHAR(50) NOT NULL,  -- 姓名,可变长度字符串,不能为空
    Gender CHAR(1),                     -- 性别,固定长度字符
    BirthDate DATE,                     -- 出生日期,日期类型
    EnrollmentDate DATETIME            -- 入学日期,日期时间类型
);
GO

常用数据类型:

  • INT:整数。
  • BIGINT:大整数。
  • DECIMAL(p,s):精确的小数,p 是总位数,s 是小数位数。
  • FLOAT:浮点数。
  • NVARCHAR(n) / VARCHAR(n):可变/固定长度的 Unicode 字符串。NVARCHAR 能存储多语言字符(如中文),推荐使用。
  • CHAR(n):固定长度的字符串。
  • DATE:仅日期。
  • DATETIME / DATETIME2:日期和时间。
  • BIT:布尔值(0 或 1)。

约束:

  • PRIMARY KEY:主键,唯一标识表中的每一行,不能为空且不能重复。
  • NOT NULL:约束列不能为空值。
  • UNIQUE:约束列中的值必须唯一。
  • DEFAULT:为列设置默认值。

第三部分:数据操作 - T-SQL 基础

T-SQL (Transact-SQL) 是 SQL Server 的核心语言,用于与数据库交互。

插入数据

使用 INSERT INTO 语句。

USE MySchoolDB;
GO
-- 插入单条数据
INSERT INTO Students (StudentID, StudentName, Gender, BirthDate, EnrollmentDate)
VALUES (1, '张三', '男', '2000-05-15', '2025-09-01 09:00:00');
-- 插入多条数据
INSERT INTO Students (StudentID, StudentName, Gender, BirthDate, EnrollmentDate)
VALUES 
    (2, '李四', '女', '2001-08-20', '2025-09-01 09:00:00'),
    (3, '王五', '男', '2000-11-30', '2025-09-01 09:00:00');
GO

查询数据

使用 SELECT 语句,这是最常用的操作。

USE MySchoolDB;
GO
-- 查询所有列的所有数据
SELECT * FROM Students;
-- 查询指定列的数据
SELECT StudentName, BirthDate FROM Students;
-- 使用 WHERE 子句进行条件筛选
-- 查询所有男生的姓名
SELECT StudentName FROM Students WHERE Gender = '男';
-- 查询 2000 年出生的学生
SELECT * FROM Students WHERE YEAR(BirthDate) = 2000;
-- 使用 ORDER BY 排序
-- 按出生日期升序排列
SELECT * FROM Students ORDER BY BirthDate ASC;
-- 按入学日期降序排列
SELECT * FROM Students ORDER BY EnrollmentDate DESC;
-- 使用 TOP 限制结果数量
-- 查询年龄最小的3名学生
SELECT TOP 3 * FROM Students ORDER BY BirthDate DESC;

更新数据

使用 UPDATE 语句。⚠️ 警告:务必使用 WHERE 子句,否则会更新整个表的所有行!

USE MySchoolDB;
GO
-- 将学号为 1 的学生的姓名更新为 '张三丰'
UPDATE Students
SET StudentName = '张三丰'
WHERE StudentID = 1;

删除数据

使用 DELETE 语句。⚠️ 警告:务必使用 WHERE 子句,否则会删除整个表的所有数据!

USE MySchoolDB;
GO
-- 删除学号为 3 的学生记录
DELETE FROM Students
WHERE StudentID = 3;

第四部分:进阶管理

索引

索引就像一本书的目录,可以极大地提高查询速度,但索引会占用存储空间,并在数据增删改时降低性能。

  • 主键索引:在定义 PRIMARY KEY 时,SQL Server 会自动创建一个聚集索引。
  • 非聚集索引:提高特定列的查询速度。
-- 在 StudentName 列上创建一个非聚集索引
CREATE INDEX IX_Students_StudentName ON Students(StudentName);

视图

视图是一个虚拟表,其结果集由存储的查询定义,它简化了复杂查询,并提供了数据安全层(只暴露部分列)。

-- 创建一个只显示学生姓名和入学日期的视图
CREATE VIEW v_StudentEnrollment
AS
SELECT StudentName, EnrollmentDate
FROM Students;
GO
-- 像查询普通表一样查询视图
SELECT * FROM v_StudentEnrollment;

存储过程

存储过程是一组为了完成特定功能的预编译 SQL 语句集合,它可以接收参数、返回结果,并提高性能和安全性。

-- 创建一个存储过程,用于根据学号查询学生信息
CREATE PROCEDURE sp_GetStudentByID
    @StudentIDParam INT -- 参数
AS
BEGIN
    SELECT * FROM Students WHERE StudentID = @StudentIDParam;
END;
GO
-- 执行存储过程
EXEC sp_GetStudentByID 1;

第五部分:工具与生态

SQL Server Management Studio (SSMS)

我们已经使用过,是管理和开发 SQL Server 的主要图形工具。

Azure Data Studio

一个跨平台的现代数据管理工具,支持 SQL Server、Azure SQL、PostgreSQL 等,界面更简洁,集成了 Jupyter Notebook 等功能,适合数据科学家和开发者。

Visual Studio Code (VS Code) + SQL Server 扩展

对于喜欢轻量级编辑器的开发者,可以在 VS Code 中安装 "SQL Server (mssql)" 扩展,直接在代码中连接数据库、编写和执行查询。

.NET、Python、Java 等编程语言

你可以使用这些语言通过 ADO.NET、PyODBC、JDBC 等驱动程序连接到 SQL Server,在应用程序中操作数据库。


第六部分:最佳实践与学习资源

最佳实践

  1. 命名规范:使用清晰、一致的命名规范(如 CamelCasesnake_case)。
  2. 备份定期备份数据库! 这是数据库管理的生命线,可以在 SSMS 中设置维护计划来自动备份。
  3. 安全
    • 使用强密码,并定期更换。
    • 遵循最小权限原则,只授予用户必要的权限。
    • 及时安装安全更新。
  4. 性能
    • 为常用查询的列创建索引。
    • 避免在 WHERE 子句中对列使用函数,这会导致索引失效。
    • 使用 EXPLAIN 或 SSMS 的 “包含实际的执行计划” 功能来分析查询性能。

学习资源

  1. 官方文档
  2. 在线课程
    • Coursera / edX:搜索 "Introduction to Databases" 或 "SQL for Data Science" 等课程。
    • Udemy:有大量高质量的 SQL Server 课程,如 "Microsoft SQL Server for Beginners"。
  3. 练习平台
    • LeetCode:有大量 SQL 面试题目。
    • HackerRank:提供 SQL 练习。
    • SQLZOO:非常适合初学者互动式学习。
  4. 社区
    • Stack Overflow:遇到问题时,这里是寻找答案的最佳去处。
    • CSDN / 博客园:国内有很多优秀的技术博主分享 MSSQL 使用经验。

这份教程为你铺开了一条学习 MSSQL 的路径,从安装配置开始,到掌握核心的增删改查,再到了解索引、视图等进阶概念,最后熟悉了工具和最佳实践。

关键在于动手实践,不要只看不练,立即安装 SQL Server,创建自己的数据库,尝试插入、查询、修改数据,随着你不断地使用,你会越来越熟练,祝你学习顺利!