SQL Server 2005 操作教程:从入门到基础实践
重要提示: SQL Server 2005 是一个非常古老的版本,微软已于 2012 年 7 月 12 日停止对其提供支持,这意味着它不再接收安全更新,存在严重的安全风险。强烈建议在生产环境中使用现代版本,如 SQL Server 2025 或 2025。 本教程仅用于学习目的或维护旧有系统。

(图片来源网络,侵删)
第一部分:准备工作 - 安装与连接
安装 SQL Server 2005
- 获取安装文件:你需要从微软官方渠道或可信赖的来源获取 SQL Server 2005 的安装光盘镜像文件。
- 运行安装程序:挂载镜像或打开光盘,找到
setup.exe文件并运行。 - 安装组件:安装向导会启动,你需要安装以下核心组件:
- 数据库服务:这是 SQL Server 的核心,负责存储和处理数据。
- 客户端工具:包括我们最常用的 SQL Server Management Studio (SSMS),这是图形化管理工具。
- Integration Services (SSIS):用于数据转换和整合。
- Analysis Services (SSAS):用于数据分析和商业智能。
- Reporting Services (SSRS):用于生成报表。
- 对于初学者,至少选择“数据库服务”和“客户端工具”进行安装。
- 配置实例:安装过程中会要求你命名一个“实例”,如果这是你第一次安装,可以使用默认名
MSSQLSERVER(默认实例)。 - 设置身份验证模式:
- Windows 身份验证模式:仅使用 Windows 用户账户登录,更安全,推荐使用。
- 混合模式:可以使用 Windows 账户,也可以使用指定的
sa用户名和密码登录,如果你需要远程连接或非 Windows 应用程序连接,通常需要选择此模式。 - 请务必记住你设置的
sa密码!
- 完成安装:按照向提示完成剩余步骤,等待安装结束。
连接到 SQL Server (使用 SQL Server Management Studio - SSMS)
- 启动 SSMS:安装完成后,从“开始”菜单找到并启动 "SQL Server Management Studio"。
- 连接到服务器:
- 服务器类型:选择
数据库引擎。 - 服务器名称:如果你的 SQL Server 和 SSMS 安装在同一台电脑上,且是默认实例,可以直接输入
localhost或(local),如果是命名实例,则格式为localhost\实例名。 - 身份验证:如果你在安装时选择了“混合模式”,就选择“SQL Server 身份验证”,然后输入用户名
sa和你设置的密码,如果选择“Windows 身份验证”,则直接点击“连接”。
- 服务器类型:选择
- 成功连接:连接成功后,你会看到一个名为“对象资源管理器”的窗口,左侧列出了服务器上的所有数据库、安全性、服务器对象等。
第二部分:核心概念与对象
在开始操作前,你需要了解 SQL Server 中的一些基本对象:
- 数据库:数据的容器,就像一个文件夹。
- 表:数据库中存储数据的结构,由行和列组成,这是最核心的对象。
- 视图:一个虚拟表,其结果集来自一张或多张表的查询。
- 存储过程:一组为了完成特定功能的预编译 SQL 语句集合。
- 函数:返回单个值的预编译 SQL 代码块。
- 约束:用于确保表中数据的完整性和准确性,如主键、外键、非空约束等。
第三部分:基础操作 (使用 T-SQL 和 SSMS)
我们将通过一个完整的例子来学习:创建一个 Students 学生表,并向其中插入、查询、修改和删除数据。
创建数据库和表
目标:创建一个名为 SchoolDB 的数据库,并在其中创建一个 Students 表。
使用图形界面 (SSMS)

(图片来源网络,侵删)
- 在“对象资源管理器”中,右键点击“数据库”文件夹,选择“新建数据库”。
- 在弹出的窗口中,输入数据库名称
SchoolDB,然后点击“确定”。 - 展开
SchoolDB数据库,右键点击“表”文件夹,选择“新建表”。 - 在表设计器中,定义列:
- 列名:
StudentID(学生ID) - 数据类型:
int(整数) - 允许 Null 值:取消勾选
- 在下方“列属性”窗口中,找到“标识规范”,将“是标识”设为“是”,这样它会自动递增(1, 2, 3...)。
- 右键点击
StudentID行,选择“设置主键”,这列将成为唯一标识每条记录的键。 - 添加其他列:
StudentName(学生姓名),数据类型nvarchar(50),允许 Null 值:否。Age(年龄),数据类型int,允许 Null 值:否。Gender(性别),数据类型nvarchar(10),允许 Null 值:否。EnrollmentDate(入学日期),数据类型datetime,允许 Null 值:是。
- 列名:
- 点击工具栏上的“保存”图标,输入表名
Students,然后点击“确定”。
使用 T-SQL 代码 (推荐)
- 在 SSMS 工具栏上,点击“新建查询”按钮,打开一个查询编辑器窗口。
- 输入以下代码:
-- 1. 创建数据库
IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = 'SchoolDB')
BEGIN
CREATE DATABASE SchoolDB;
END
GO
-- GO 是批处理分隔符,告诉 SQL Server 执行 GO 之前的所有语句
-- 2. 使用新创建的数据库
USE SchoolDB;
GO
-- 3. 创建 Students 表
CREATE TABLE Students (
StudentID INT PRIMARY KEY IDENTITY(1,1), -- IDENTITY(1,1) 表示从1开始,每次递增1
StudentName NVARCHAR(50) NOT NULL,
Age INT NOT NULL,
Gender NVARCHAR(10) NOT NULL,
EnrollmentDate DATETIME
);
GO
- 点击工具栏上的“执行”按钮(或按 F5),执行成功后,刷新“对象资源管理器”中的
SchoolDB-> “表”,你就能看到Students表了。
数据操作语言
目标:向 Students 表中添加、查询、修改和删除数据。
USE SchoolDB;
GO
-- 1. 插入数据
INSERT INTO Students (StudentName, Age, Gender, EnrollmentDate)
VALUES ('张三', 20, '男', '2025-09-01'),
('李四', 21, '女', '2025-09-01'),
('王五', 22, '男', '2025-09-01');
GO
-- 2. 查询数据
-- 查询所有学生信息
SELECT * FROM Students;
GO
-- 查询特定列
SELECT StudentName, Age FROM Students;
GO
-- 带条件的查询 (查询年龄大于20的学生)
SELECT * FROM Students WHERE Age > 20;
GO
-- 3. 更新数据
-- 将“张三”的年龄改为21
UPDATE Students
SET Age = 21
WHERE StudentName = '张三';
GO
-- 4. 删除数据
-- 删除“王五”的记录
DELETE FROM Students
WHERE StudentName = '王五';
GO
管理数据库
目标:备份和恢复数据库。
备份数据库 (图形界面)

(图片来源网络,侵删)
- 在“对象资源管理器”中,右键点击要备份的数据库(
SchoolDB)。 - 选择“任务” -> “备份...”。
- 在“备份数据库”窗口中:
- 常规选项卡:确保“备份类型”为“完整”,“目标”已经自动设置好(
.bak文件),你可以点击“添加”来更改备份文件的位置和名称。 - 媒体选项选项卡:可以覆盖或追加到现有备份文件。
- 常规选项卡:确保“备份类型”为“完整”,“目标”已经自动设置好(
- 点击“确定”开始备份。
恢复数据库 (图形界面)
- 在“对象资源管理器”中,右键点击“数据库”文件夹。
- 选择“任务” -> “恢复” -> “数据库...”。
- 在“还原数据库”窗口中:
- 常规选项卡:选择“源设备”,然后点击“...”按钮,选择你刚刚备份的
.bak文件。 - 选择要恢复的备份集(通常是最后一个)。
- 在“目标数据库”中输入一个新数据库名称,
SchoolDB_Restored。 (注意:不能直接覆盖正在使用的数据库)。
- 常规选项卡:选择“源设备”,然后点击“...”按钮,选择你刚刚备份的
- 点击“确定”开始恢复。
第四部分:进阶主题概览
SQL Server 2005 功能强大,除了以上基础操作,还包括:
- 索引:可以大大提高数据查询速度,就像书的目录一样。
- 视图:可以简化复杂查询,并隐藏表的底层结构。
- 存储过程:将常用操作封装起来,提高代码复用性和安全性。
- 触发器:在特定事件(如
INSERT,UPDATE,DELETE)发生时自动执行的代码,用于实现复杂的业务规则。 - 事务:确保一组操作要么全部成功,要么全部失败,保证数据的一致性。
总结与后续学习
本教程涵盖了 SQL Server 2005 的安装、连接、核心概念以及最基础的增删改查操作,这是你深入学习的第一步。
后续学习建议:
- 深入学习 T-SQL:掌握更复杂的查询(如
JOIN,GROUP BY,HAVING)、函数和窗口函数。 - 学习索引和性能调优:了解如何创建索引和使用执行计划来优化查询。
- 探索高级功能:如存储过程、触发器、事务和锁机制。
- 迁移到现代版本:再次强调,强烈建议将学习或工作迁移到更新的 SQL Server 版本,以获得更好的性能、安全性和功能支持。
希望这份教程对你有帮助!
