初识 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:运行安装程序
text
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)
sql
-- 创建一个名为 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)
sql
-- 切换到 SchoolDB 数据库进行后续操作
USE SchoolDB;
GO
3. 创建表(CREATE TABLE)
sql
-- 创建学生表 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)
sql
-- 插入一条学生记录
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)
sql
-- 查询所有学生
SELECT * FROM Students;
-- 查询特定字段并排序
SELECT Name, Age FROM Students
ORDER BY Age DESC;
-- 条件查询:年龄大于18
SELECT Name, Email FROM Students
WHERE Age > 18;
GO
6. 更新数据(UPDATE)
sql
-- 将张三的邮箱更新
UPDATE Students
SET Email = 'zhangsan_new@example.com'
WHERE Name = '张三';
GO
7. 删除数据(DELETE)
sql
-- 删除王五的记录
DELETE FROM Students
WHERE Name = '王五';
GO
8. 删除表与数据库(DROP)
sql
-- 删除表(谨慎操作!)
DROP TABLE Students;
-- 删除整个数据库(断开所有连接后执行)
USE master; -- 必须先切换出该数据库
GO
DROP DATABASE SchoolDB;
GO
五、综合性案例:构建简易学生管理系统
目标:
- 创建数据库和两张表(学生、课程)
- 插入示例数据
- 查询选课信息(使用 JOIN)
实现代码:
sql
-- 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)语句是操作数据的基础。
- 通过 主键、外键、约束 可保证数据完整性。
- 综合案例展示了多表设计与关联查询的实际应用。
七、经典习题参考答案(示例)
题目:创建一个员工表,包含工号(主键)、姓名、部门、入职日期,默认入职日期为当前日期。
sql
CREATE TABLE Employees (
EmpID CHAR(6) PRIMARY KEY, -- 工号如 'E00123'
Name NVARCHAR(50) NOT NULL,
Department NVARCHAR(50),
HireDate DATE DEFAULT GETDATE()
);
📌 提示:实际学习中,请在本地 SQL Server 实例中逐行执行上述代码,观察结果,加深理解。
如需后续章节(如数据类型、索引、视图、存储过程等)的详细语法与案例,请继续提问!