SQL Server 2019入门学习教程,从入门到精通,初识 SQL Server 2019 —— 语法知识点与使用方法详解(1)

初识 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

五、综合性案例:构建简易学生管理系统

目标:

  1. 创建数据库和两张表(学生、课程)
  2. 插入示例数据
  3. 查询选课信息(使用 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 实例中逐行执行上述代码,观察结果,加深理解。


如需后续章节(如数据类型、索引、视图、存储过程等)的详细语法与案例,请继续提问!

相关推荐
代码游侠2 小时前
C语言核心概念复习(三)
开发语言·数据结构·c++·笔记·学习·算法
烧烧的酒0.o2 小时前
Java——JavaSE完整教程
java·开发语言·学习
嗯嗯**2 小时前
Neo4j学习4:数据导入
学习·neo4j·图数据库·csv·数据导入
清风~徐~来2 小时前
【视频点播系统】Etcd-SDK 介绍及使用
数据库·etcd
计算机毕设VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue球鞋购物系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
代码游侠2 小时前
学习笔记——Linux内核与嵌入式开发2
linux·运维·arm开发·嵌入式硬件·学习·架构
我是黄骨鱼2 小时前
【零基础学数据库|第四篇】SQL通用语法学习
学习
仍然.2 小时前
MYSQL--- 表的设计
数据库·mysql
数据知道2 小时前
PostgreSQL的连接方式有哪些?有哪些连接工具?
数据库·postgresql