SQL Server 2000 基础教程
前言:为什么是 SQL Server 2000?
首先需要说明的是,SQL Server 2000 是一款非常古老的数据库产品,微软已于 2008 年停止对其支持,这意味着它没有安全更新,存在已知的漏洞,并且不兼容现代操作系统(如 Windows 10/11)。

学习它的原因可能包括:
- 维护旧系统: 你可能需要维护一个仍在使用 SQL Server 2000 的遗留系统。
- 学习历史: 了解数据库技术的基础概念,SQL Server 2000 的界面和操作非常经典,有助于理解现代数据库的演变。
- 教学环境: 在一个非常老旧的虚拟机环境中进行学习实验。
重要提示: 如果你的目标是学习现代数据库开发或管理,强烈建议直接学习 SQL Server 2025 或更高版本,它们功能更强大、更安全、更高效,本教程仅作为历史参考和基础概念入门。
第一章:SQL Server 2000 简介
1 什么是 SQL Server?
SQL Server 是由微软公司开发的一个关系型数据库管理系统,它使用标准的 SQL(结构化查询语言)来查询、管理和更新数据,它不仅能存储数据,还能提供数据分析和报表服务。
2 核心组件
SQL Server 2000 主要由以下几个部分组成:

- 数据库引擎: 这是核心组件,负责存储、处理和保护数据,我们平时说的“操作数据库”,主要就是和这个组件打交道。
- 企业管理器: 这是 SQL Server 2000 最主要的管理工具,提供一个图形化界面来管理所有服务器和数据库对象(如表、视图、存储过程等)。
- 查询分析器: 这是一个强大的工具,允许用户编写和执行 SQL 语句,并查看结果,它是数据库开发人员的常用工具。
- 服务管理器: 用于启动、停止和暂停 SQL Server 的各种服务(如 MSSQLServer 服务)。
- 客户端工具: 包括各种用于连接和操作数据库的实用程序。
第二章:安装与启动
1 安装准备
你需要一个满足以下条件的操作系统:
- Windows NT 4.0 (带 SP6a)
- Windows 2000 (Professional, Server, Advanced Server)
- Windows Server 2003 (所有版本)
注意: SQL Server 2000 无法在 Windows XP 及更高版本的客户端操作系统上安装,也无法在 Windows 7 及更高版本上运行,通常需要在虚拟机(如 VirtualBox 或 VMware)中安装 Windows Server 2003 来运行它。
2 启动服务
安装完成后,你需要确保 SQL Server 服务正在运行。
- 通过 “开始” -> “程序” -> Microsoft SQL Server -> 服务管理器。
- 在“服务”下拉框中选择 “MSSQLServer”。
- 点击 “开始” 按钮,状态会变为 “正在运行”。
- 勾选 “当启动 OS 时自动启动服务” 可以让它在系统开机时自动运行。
第三章:核心管理工具
1 企业管理器
这是你的“控制中心”。

- 启动方式: “开始” -> “程序” -> Microsoft SQL Server -> 企业管理器。
- 界面布局:
- 左侧是“控制台根目录”,以树形结构显示所有已连接的 SQL Server 服务器和它们的数据库。
- 右侧是详细信息窗口,显示选中对象的属性或可以执行的操作。
2 查询分析器
这是你的“代码编辑器”。
- 启动方式: “开始” -> “程序” -> Microsoft SQL Server -> 查询分析器。
- 界面布局:
- 上方是工具栏,可以选择要连接的数据库,执行查询等。
- 中间是主编辑区,用于编写 SQL 代码。
- 下方是结果窗格,用于显示查询结果或错误信息。
第四章:SQL 基础语法
SQL 是与数据库通信的标准语言,它主要分为四类:
- DQL (Data Query Language - 数据查询语言):
SELECT - DML (Data Manipulation Language - 数据操纵语言):
INSERT,UPDATE,DELETE - DDL (Data Definition Language - 数据定义语言):
CREATE,ALTER,DROP - DCL (Data Control Language - 数据控制语言):
GRANT,REVOKE(权限控制)
1 数据库和表的基本操作
创建数据库 在企业管理器中,右键点击 “数据库” -> “新建数据库”,然后输入数据库名称。
创建表 在企业管理器中,展开你的数据库 -> 右键点击 “表” -> “新建表”。
- 列名: 字段名。
- 数据类型: 字段存储的数据类型。
int: 整数。varchar(n): 可变长度字符串,最多 n 个字符。char(n): 固定长度字符串,总是 n 个字符。datetime: 日期和时间。bit: 布尔值 (0 或 1)。
- 允许空: 是否允许该字段不填值。
示例:创建一个 Students 表
CREATE TABLE Students (
StudentID int NOT NULL PRIMARY KEY,
StudentName varchar(50) NOT NULL,
Age int,
Gender bit,
EnrollmentDate datetime
)
NOT NULL: 表示该列必须有值。PRIMARY KEY: 主键,唯一标识每一行记录,不能为空且不能重复。
2 数据查询语言
基本语法:
SELECT column1, column2, ... FROM table_name WHERE condition;
示例:
假设我们已经有 Students 表并插入了数据。
-- 1. 查询所有学生的所有信息 SELECT * FROM Students; -- 2. 查询所有学生的姓名和年龄 SELECT StudentName, Age FROM Students; -- 3. 查询年龄大于18岁的学生姓名 SELECT StudentName FROM Students WHERE Age > 18; -- 4. 查询年龄在18到22岁之间的学生 SELECT StudentName, Age FROM Students WHERE Age BETWEEN 18 AND 22; -- 5. 查询性别为男(假设 Gender=1 代表男)的学生 SELECT StudentName, Gender FROM Students WHERE Gender = 1; -- 6. 查询姓名以 "张" 开头的所有学生 SELECT StudentName FROM Students WHERE StudentName LIKE '张%'; -- 7. 对查询结果按年龄降序排序 SELECT * FROM Students ORDER BY Age DESC; -- ASC 为升序
3 数据操纵语言
插入数据
INSERT INTO Students (StudentID, StudentName, Age, Gender, EnrollmentDate) VALUES (1, '张三', 20, 1, '2003-09-01'); INSERT INTO Students (StudentID, StudentName, Age, EnrollmentDate) VALUES (2, '李四', 21, '2003-09-02'); -- Gender 允许为空,所以可以不填
更新数据
-- 将学号为 1 的学生的年龄改为 21 UPDATE Students SET Age = 21 WHERE StudentID = 1;
删除数据
-- 删除学号为 2 的学生记录 DELETE FROM Students WHERE StudentID = 2;
警告: DELETE 和 UPDATE 操作如果没有 WHERE 子句,将会删除或更新整个表的数据!请务必小心。
第五章:进阶概念
1 索引
索引类似于书籍的目录,可以极大地提高数据查询的速度,在经常用于查询条件的列(如主键 StudentID)上创建索引是很好的做法。
- 主键索引: 在定义
PRIMARY KEY时,数据库会自动创建一个唯一索引。 - 创建普通索引:
CREATE INDEX IX_Students_Age ON Students(Age);
2 视图
视图是一个虚拟的表,其内容是基于存储的 SQL 查询,它不存储数据,而是动态地从基表中生成数据。
- 用途:
- 简化复杂的查询。
- 限制用户只能看到表的特定部分(安全)。
- 示例:创建一个只显示学生姓名和入学日期的视图
CREATE VIEW v_StudentInfo AS SELECT StudentName, EnrollmentDate FROM Students;
之后,你可以像查询普通表一样查询
v_StudentInfo。
3 存储过程
存储过程是一组为了完成特定功能的预编译 SQL 语句集合,它被存储在数据库中,可以通过名称来调用。
- 优点:
- 性能高: 预编译,执行速度快。
- 安全性高: 可以授予用户执行存储过程的权限,而不直接授予他们操作表的权限。
- 代码复用: 封装了常用逻辑,避免重复编写。
示例:创建一个插入学生信息的存储过程
CREATE PROCEDURE sp_InsertStudent
@StudentID int,
@StudentName varchar(50),
@Age int
AS
BEGIN
INSERT INTO Students (StudentID, StudentName, Age)
VALUES (@StudentID, @StudentName, @Age)
END
调用存储过程:
EXEC sp_InsertStudent 3, '王五', 22;
第六章:总结与展望
通过本教程,你已经掌握了 SQL Server 2000 的基本概念、安装方法、核心工具的使用以及最核心的 SQL 语句(增删改查)。
回顾一下我们学习的内容:
- 环境搭建: 安装、启动服务。
- 管理工具: 使用企业管理器和查询分析器。
- 核心 SQL:
CREATE TABLE定义表结构。SELECT查询数据。INSERT,UPDATE,DELETE操作数据。WHERE子句实现条件查询。
- 进阶概念: 索引、视图、存储过程。
下一步学习方向:
- 深入学习 T-SQL: 学习更复杂的函数、事务处理、游标等。
- 数据库设计: 学习数据库范式(1NF, 2NF, 3NF),设计出更合理的数据库结构。
- 数据库备份与恢复: 学习如何使用企业管理器进行数据库的备份和还原,这是 DBA 的核心技能。
- 升级到现代版本: 如果你真的需要学习数据库,请务必将环境迁移到 SQL Server 2025 或更高版本,你会发现界面更友好,功能更强大,性能也更好,现代版本的学习资源非常丰富,社区也活跃得多。
