初识 SQL Server 2019 —— 语法知识点与使用方法详解
一、SQL Server 2019 核心组件简介
SQL Server 2019 是 Microsoft 提供的关系型数据库管理系统(RDBMS),其主要组件包括:
| 数据库引擎(Database Engine) | 存储、处理和保护数据的核心服务,支持事务、安全性、高可用性等。 |
| 分析服务(Analysis Services, SSAS) | 提供联机分析处理(OLAP)和数据挖掘功能,用于商业智能(BI)。 |
| 集成服务(Integration Services, SSIS) | 用于数据集成、ETL(抽取-转换-加载)流程开发。 |
| 报表服务(Reporting Services, SSRS) | 创建、管理和分发交互式报表。 |
⚠️ 本章重点聚焦于 数据库引擎 和 SQL Server Management Studio (SSMS) 的使用。
二、SQL Server 2019 安装指南(Windows 环境)
1. 安装环境需求(简要)
- 操作系统:Windows 10/11、Windows Server 2016 及以上
- .NET Framework 4.8 或更高
- 至少 2 GB 内存(推荐 4 GB+)
- 至少 6 GB 可用磁盘空间
2. 安装步骤(图文略,文字描述)
步骤 1:下载安装介质
- 访问 Microsoft 官网
- 下载 SQL Server 2019 Developer Edition(免费用于开发测试)
步骤 2:运行安装程序
1. 双击 setup.exe
2. 选择“Installation” → “New SQL Server stand-alone installation”
3. 接受许可条款
4. 选择“Developer”版本(免费)
5. 选择功能:
– ✅ Database Engine Services
– ✅ SQL Server Replication(可选)
– ✅ Client Tools Connectivity
– ✅ Management Tools – Basic / Complete(含SSMS)
6. 设置实例名(默认实例为 MSSQLSERVER,或命名实例如 SQLEXPRESS)
7. 配置服务器角色:选择“Default instance”或“Named instance”
8. 设置身份验证模式:
– Windows 身份验证(仅限本地管理员)
– 混合模式(推荐)→ 设置 **sa 密码**(必须强密码)
9. 添加当前用户为 SQL Server 管理员
10. 完成安装
💡 若未安装 SSMS,可单独从 Microsoft 官网下载 SSMS 最新版
步骤 3:安装 SSMS(若未随主程序安装)
- 下载 SSMS-Setup-ENU.exe
- 双击运行,按提示完成安装(无需配置)
三、SSMS 基本操作
1. 启动与连接
- 打开 SSMS(开始菜单 → Microsoft SQL Server → SQL Server Management Studio)
- 连接窗口:
- 服务器类型:Database Engine
- 服务器名称:localhost、.、(local) 或具体实例名如 .\\SQLEXPRESS
- 身份验证:
- Windows 身份验证(默认)
- SQL Server 身份验证(输入 sa 和密码)
2. 使用模板资源管理器
- 菜单栏:查看 → 模板资源管理器(Ctrl+Alt+T)
- 可快速插入建表、视图、存储过程等模板代码
3. 配置服务器属性
- 在对象资源管理器中右键服务器名 → 属性
- 可设置内存、处理器、安全性、数据库默认路径等
4. 查询编辑器使用
- 新建查询(Ctrl+N)
- 编写 T-SQL 语句
- 执行(F5 或 ! 按钮)
- 查看结果(网格/文本/文件)
四、T-SQL 基础语法知识点与案例代码
所有代码在 查询编辑器 中执行
1. 创建数据库(CREATE DATABASE)
— 创建一个名为 SchoolDB 的数据库
— 指定主数据文件 (.mdf) 和日志文件 (.ldf) 的路径、大小、增长方式
CREATE DATABASE SchoolDB
ON PRIMARY (
NAME = 'SchoolDB_Data', — 逻辑文件名
FILENAME = 'C:\\SQLData\\SchoolDB.mdf', — 物理路径(需确保目录存在)
SIZE = 10MB, — 初始大小
MAXSIZE = 50MB, — 最大大小
FILEGROWTH = 5MB — 自动增长量
)
LOG ON (
NAME = 'SchoolDB_Log',
FILENAME = 'C:\\SQLData\\SchoolDB.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 2MB
);
GO
✅ 注:生产环境中建议将数据文件和日志文件放在不同磁盘以提升 I/O 性能。
2. 使用数据库(USE)
— 切换到 SchoolDB 数据库进行后续操作
USE SchoolDB;
GO
3. 创建表(CREATE TABLE)
— 创建学生表 Students
CREATE TABLE Students (
StudentID INT IDENTITY(1,1) PRIMARY KEY, — 自增主键
Name NVARCHAR(50) NOT NULL, — 姓名,非空
Age TINYINT CHECK (Age BETWEEN 15 AND 30), — 年龄限制 15~30
Email VARCHAR(100) UNIQUE, — 邮箱唯一
EnrollmentDate DATE DEFAULT GETDATE() — 默认当前日期
);
GO
4. 插入数据(INSERT INTO)
— 插入一条学生记录
INSERT INTO Students (Name, Age, Email)
VALUES ('张三', 18, 'zhangsan@example.com');
— 插入多条记录
INSERT INTO Students (Name, Age, Email)
VALUES
('李四', 19, 'lisi@example.com'),
('王五', 20, 'wangwu@example.com');
GO
5. 查询数据(SELECT)
— 查询所有学生
SELECT * FROM Students;
— 查询特定字段并排序
SELECT Name, Age FROM Students
ORDER BY Age DESC;
— 条件查询:年龄大于18
SELECT Name, Email FROM Students
WHERE Age > 18;
GO
6. 更新数据(UPDATE)
— 将张三的邮箱更新
UPDATE Students
SET Email = 'zhangsan_new@example.com'
WHERE Name = '张三';
GO
7. 删除数据(DELETE)
— 删除王五的记录
DELETE FROM Students
WHERE Name = '王五';
GO
8. 删除表与数据库(DROP)
— 删除表(谨慎操作!)
DROP TABLE Students;
— 删除整个数据库(断开所有连接后执行)
USE master; — 必须先切换出该数据库
GO
DROP DATABASE SchoolDB;
GO
五、综合性案例:构建简易学生管理系统
目标:
实现代码:
— 1. 创建数据库
CREATE DATABASE StudentSystem;
GO
USE StudentSystem;
GO
— 2. 创建学生表
CREATE TABLE Students (
StudentID INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(50) NOT NULL,
Major NVARCHAR(50)
);
— 3. 创建课程表
CREATE TABLE Courses (
CourseID INT IDENTITY(1,1) PRIMARY KEY,
CourseName NVARCHAR(100) NOT NULL,
Credits TINYINT
);
— 4. 创建选课关系表(多对多)
CREATE TABLE Enrollments (
StudentID INT,
CourseID INT,
EnrollmentDate DATE DEFAULT GETDATE(),
PRIMARY KEY (StudentID, CourseID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
— 5. 插入数据
INSERT INTO Students (Name, Major) VALUES
('赵六', '计算机科学'),
('钱七', '数学');
INSERT INTO Courses (CourseName, Credits) VALUES
('数据库原理', 3),
('高等数学', 4);
INSERT INTO Enrollments (StudentID, CourseID) VALUES
(1, 1), — 赵六选数据库
(1, 2), — 赵六选高数
(2, 2); — 钱七选高数
— 6. 综合查询:显示每位学生的选课情况
SELECT
s.Name AS 学生姓名,
s.Major AS 专业,
c.CourseName AS 课程名称,
c.Credits AS 学分,
e.EnrollmentDate AS 选课日期
FROM Students s
JOIN Enrollments e ON s.StudentID = e.StudentID
JOIN Courses c ON e.CourseID = c.CourseID
ORDER BY s.Name, c.CourseName;
GO
✅ 输出结果将展示学生与课程的关联信息,体现关系型数据库的核心能力:通过外键关联多表数据。
六、本章小结
- SQL Server 2019 由多个服务组成,数据库引擎是核心。
- 安装时需注意身份验证模式和实例配置。
- SSMS 是管理数据库的主要图形工具,支持编写、调试、执行 T-SQL。
- 基础 DDL(CREATE/DROP)和 DML(INSERT/UPDATE/DELETE/SELECT)语句是操作数据的基础。
- 通过 主键、外键、约束 可保证数据完整性。
- 综合案例展示了多表设计与关联查询的实际应用。
七、经典习题参考答案(示例)
题目:创建一个员工表,包含工号(主键)、姓名、部门、入职日期,默认入职日期为当前日期。
CREATE TABLE Employees (
EmpID CHAR(6) PRIMARY KEY, — 工号如 'E00123'
Name NVARCHAR(50) NOT NULL,
Department NVARCHAR(50),
HireDate DATE DEFAULT GETDATE()
);
📌 提示:实际学习中,请在本地 SQL Server 实例中逐行执行上述代码,观察结果,加深理解。
如需后续章节(如数据类型、索引、视图、存储过程等)的详细语法与案例,请继续提问!




