SQL Server 2005 使用教程

第一部分:准备工作与安装

什么是 SQL Server 2005?

SQL Server 2005 是微软在 2005 年发布的关系型数据库管理系统,它引入了许多重要的新特性,

sql2005使用教程
(图片来源网络,侵删)
  • 集成服务: 用于数据提取、转换和加载的强大工具。
  • 分析服务: 用于在线分析处理和数据挖掘。
  • 报表服务: 用于创建和分发报表。
  • SQL Server Management Studio (SSMS): 一个集成的管理环境,取代了以前的 Enterprise Manager 和 Query Analyzer。
  • T-SQL 增强: 引入了 TRY...CATCH 错误处理、窗口函数(如 ROW_NUMBER())等。

系统要求

在安装前,请确保你的计算机满足最低要求:

  • 操作系统: Windows XP (SP2), Windows Server 2003 (SP1) 或更高版本。
  • CPU: 最低 600 MHz,推荐 1 GHz 或更高。
  • 内存: 最少 512 MB RAM,推荐 1 GB 或更高。
  • 硬盘空间: 至少 2.2 GB 的可用空间。
  • 软件: 需要 .NET Framework 2.0 和 Internet Information Services (IIS)(如果使用 Reporting Services)。

下载与安装

  1. 下载:

    • 由于 SQL Server 2005 已停止官方下载,你需要从第三方可信赖的网站(如 archive.org)获取安装文件,通常会有一个名为 SQLServer2005.iso 的镜像文件。
    • 使用虚拟光驱软件(如 DAEMON Tools)挂载该镜像文件。
  2. 安装步骤:

    • 打开挂载后的驱动器,运行 setup.exe
    • 进入安装向导后,点击“下一步”。
    • 输入产品密钥: 如果你有密钥,请输入,对于学习目的,通常可以选择“评估版”或“开发版”进行安装。
    • 安装组件: 在“安装组件”页面,选择你要安装的部分,对于初学者,强烈建议只安装以下核心组件
      • 服务器组件、工具、联机图书和示例: 这包括了数据库引擎、管理工具、文档和示例数据库。
      • 可以取消勾选 客户端组件联机丛书 等非必要项,以节省时间和空间。
    • 安装规则: 系统会检查你的配置是否符合要求,如果有红色叉号,需要先解决,常见的有防火墙、IIS、.NET Framework 等。
    • 实例名: 实例是 SQL Server 的一个独立安装,默认实例名为 MSSQLSERVER,如果你在同一台机器上安装多个 SQL Server,需要命名实例,初学者使用默认实例即可。
    • 服务账户: 指定运行 SQL Server 服务的账户,使用内置的 Network Service 账户是安全且方便的选择。
    • 身份验证模式:
      • Windows 身份验证模式: 只能使用 Windows 用户账户登录,最安全。
      • 混合模式: 既可以使用 Windows 身份验证,也可以使用 SQL Server 身份验证(用户名 sa 和密码)。
      • 强烈建议为 sa 用户设置一个强密码,在生产环境中,推荐使用 Windows 身份验证。
    • 排序规则: 定义数据的排序和比较规则,通常使用默认值即可。
    • 错误报告: 选择是否向微软发送错误报告。
    • 准备安装: 检查摘要信息,确认无误后点击“安装”。
    • 完成安装: 等待所有组件安装完成,点击“下一步”完成向导。

第二部分:核心工具 - SQL Server Management Studio (SSMS)

安装完成后,最重要的工具就是 SQL Server Management Studio (SSMS),它是一个图形化管理工具,用于管理数据库、编写和执行查询、管理服务器等。

sql2005使用教程
(图片来源网络,侵删)
  1. 启动 SSMS:

    通过“开始”菜单 -> “所有程序” -> “Microsoft SQL Server 2005” -> “SQL Server Management Studio”。

  2. 连接到服务器:

    • 首次打开时,会弹出“连接到服务器”对话框。
    • 服务器类型: 选择 数据库引擎
    • 服务器名称: 如果是本地安装,默认是 localhost(local) 或你的计算机名。
    • 身份验证: 如果你在安装时选择了“混合模式”,可以选择“SQL Server 身份验证”,然后输入用户名 sa 和你设置的密码,如果选择“Windows 身份验证”,则使用你的 Windows 账户登录。
    • 点击“连接”。
  3. SSMS 界面简介:

    • 对象资源管理器: 左侧的面板,以树状结构显示所有数据库、服务器对象、登录名等,这是管理数据库的主要入口。
    • 查询编辑器: 中间的主要区域,用于编写和执行 T-SQL 语句。
    • 属性窗口: 右侧面板,显示当前选中对象的详细属性。
    • 模板浏览器: 可以使用预定义的 SQL 模板来快速生成代码。

第三部分:基本数据库操作

创建数据库

对象资源管理器 中,展开服务器节点,右键点击“数据库” -> “新建数据库”。

  • 数据库名称: 输入一个有意义的名称,MyTestDB
  • 数据文件和事务日志文件: 可以设置文件的初始大小、自动增长方式和路径,对于初学者,使用默认值即可。
  • 点击“确定”,数据库创建成功。

创建表

在新建的数据库 MyTestDB 上右键,选择“新建查询”,这会在查询编辑器中打开一个新窗口,并自动连接到 MyTestDB

使用 CREATE TABLE 语句创建一个学生表:

-- 创建一个名为 Students 的表
CREATE TABLE Students
(
    -- 列定义
    StudentID INT PRIMARY KEY,       -- 学号,整数类型,主键
    StudentName NVARCHAR(50) NOT NULL, -- 姓名,可变长度字符串,不能为空
    Gender NCHAR(1),                 -- 性别,固定长度字符
    BirthDate DATE,                  -- 出生日期
    EnrollmentDate DATETIME         -- 入学日期
);
  • 执行:F5 或点击工具栏上的“执行”按钮。
  • 验证:对象资源管理器 中,展开 MyTestDB -> ,你应该能看到新创建的 Students 表。

插入数据

使用 INSERT INTO 语句向表中添加数据。

-- 向 Students 表中插入一条数据
INSERT INTO Students (StudentID, StudentName, Gender, BirthDate, EnrollmentDate)
VALUES (1, '张三', '男', '1998-05-10', '2025-09-01');
-- 插入第二条数据
INSERT INTO Students (StudentID, StudentName, Gender, BirthDate, EnrollmentDate)
VALUES (2, '李四', '女', '1999-03-22', '2025-09-01');
-- 插入第三条数据 (注意日期格式)
INSERT INTO Students (StudentID, StudentName, Gender, BirthDate, EnrollmentDate)
VALUES (3, '王五', '男', '1997-11-30', '2025-09-01');

执行后,数据已存入表中。

查询数据

这是最常用的操作,使用 SELECT 语句。

-- 查询所有学生的所有信息
SELECT * FROM Students;
-- 查询所有学生的姓名和学号
SELECT StudentName, StudentID FROM Students;
-- 查询所有女学生的信息
SELECT * FROM Students WHERE Gender = '女';
-- 查询入学日期在 2025 年之后的学生姓名和入学日期
SELECT StudentName, EnrollmentDate 
FROM Students 
WHERE EnrollmentDate > '2025-01-01';

更新数据

使用 UPDATE 语句修改已有数据。

-- 将学号为 1 的学生的姓名改为 '张三丰'
UPDATE Students
SET StudentName = '张三丰'
WHERE StudentID = 1;

注意: WHERE 子句至关重要!如果没有它,表中的所有记录都会被更新。

删除数据

使用 DELETE 语句删除数据。

-- 删除学号为 3 的学生记录
DELETE FROM Students
WHERE StudentID = 3;

注意: WHERE 子句同样至关重要!DELETE FROM Students 会清空整个表。


第四部分:T-SQL 语言基础

T-SQL 是 SQL Server 的核心语言,是对标准 SQL 的扩展。

数据类型

SQL Server 2005 提供了多种数据类型:

  • 数值类型: INT (整数), DECIMAL(p,s) (精确小数), FLOAT (浮点数), BIT (0或1)
  • 字符串类型: CHAR(n) (定长), VARCHAR(n) (变长), NVARCHAR(n) (支持Unicode, 如中文), TEXT (大文本)
  • 日期时间类型: DATE, DATETIME, DATETIME2, SMALLDATETIME
  • 二进制类型: BINARY, VARBINARY, IMAGE
  • 其他类型: UNIQUEIDENTIFIER (全局唯一标识符), XML (XML数据)

运算符

  • 算术运算符: , , , ,
  • 比较运算符: , >, <, >=, <=, <> (不等于), (不等于), LIKE (模糊匹配), IN (在列表中), BETWEEN (在范围内)
  • 逻辑运算符: AND, OR, NOT
  • 连接运算符: (用于连接字符串)

高级查询

  • 排序: 使用 ORDER BY 子句。

    -- 按出生日期升序排列学生
    SELECT * FROM Students ORDER BY BirthDate ASC; -- ASC 是升序,默认值
    -- 按学号降序排列
    SELECT * FROM Students ORDER BY StudentID DESC; -- DESC 是降序
  • 聚合函数: 对一组值进行计算,返回单个值。

    • COUNT(): 计数
    • SUM(): 求和
    • AVG(): 求平均值
    • MAX(): 求最大值
    • MIN(): 求最小值
      -- 计算学生总数
      SELECT COUNT(*) AS TotalStudents FROM Students;

    -- 计算所有学生的平均入学年份 (YEAR函数提取年份) SELECT AVG(YEAR(EnrollmentDate)) AS AvgEnrollmentYear FROM Students;

  • 分组: 使用 GROUP BY 子句,通常与聚合函数一起使用。

    -- 按性别分组,统计每个性别的学生人数
    SELECT Gender, COUNT(*) AS Count
    FROM Students
    GROUP BY Gender;
  • 多表查询 (JOIN): 当数据分布在多个相关表中时使用。 假设我们还有一个 Courses (课程表) 和 Scores (成绩表)。

    -- 假设有以下表结构
    -- Courses(CourseID, CourseName)
    -- Scores(StudentID, CourseID, Score)
    -- 查询所有学生的姓名和他们选修的课程名称
    SELECT s.StudentName, c.CourseName
    FROM Students AS s
    INNER JOIN Scores AS sc ON s.StudentID = sc.StudentID
    INNER JOIN Courses AS c ON sc.CourseID = c.CourseID;
    • INNER JOIN: 返回两个表中匹配的记录。
    • LEFT JOIN: 返回左表的所有记录,以及右表中匹配的记录。

第五部分:备份与恢复

数据备份是数据库管理中至关重要的一环。

备份数据库

  1. 对象资源管理器 中,右键点击要备份的数据库(如 MyTestDB)。
  2. 选择“任务” -> “备份”。
  3. 在“备份数据库”窗口中:
    • 数据库: 确认是 MyTestDB
    • 备份类型: 选择“完整”。
    • 目标: 默认是“磁盘”,你可以添加或删除备份文件路径,点击“添加”,选择一个保存 .bak 备份文件的路径和文件名。
  4. 点击“确定”开始备份。

恢复数据库

  1. 对象资源管理器 中,右键点击“数据库” -> “还原数据库”。
  2. 在“还原数据库”窗口中:
    • 目标数据库: 输入要恢复的数据库名称,如果该数据库已存在,需要先删除或覆盖。
    • 源设备: 选择“从设备”,然后点击“...”按钮。
    • 在“选择备份设备”窗口中,点击“添加”,找到你之前创建的 .bak 备份文件。
    • 点击“确定”返回主窗口。
  3. 确保目标设备列表中显示了你的备份文件。
  4. 在左侧选择“选项”页。
  5. 重要: 在“恢复状态”中,选择“WITH RECOVERY” (默认),这样恢复后数据库就可以直接使用,如果选择“WITH NORECOVERY”,数据库将处于“正在还原”状态,可以继续恢复其他备份文件。
  6. 点击“确定”开始恢复。

总结与后续学习

本教程涵盖了 SQL Server 2005 的基础使用,包括安装、核心工具、基本 CRUD 操作、T-SQL 基础以及备份恢复。

下一步可以学习的内容:

  1. 视图: 虚拟表,简化复杂查询。
  2. 存储过程: 在数据库中预编译的 SQL 代码块,用于封装业务逻辑。
  3. 触发器: 在特定事件(如 INSERT, UPDATE, DELETE)发生时自动执行的代码。
  4. 索引: 提高查询性能的数据结构。
  5. 事务: 确保一组操作要么全部成功,要么全部失败,保证数据一致性。
  6. SQL Server Integration Services (SSIS): 学习如何进行数据导入导出和ETL(提取、转换、加载)。
  7. SQL Server Reporting Services (SSRS): 学习如何创建和部署报表。

虽然 SQL Server 2005 已经比较老旧,但掌握它的基本原理和操作,对于学习更新的版本(如 SQL Server 2008, 2012, 2025, 2025, 2025)非常有帮助,因为核心概念和 T-SQL 语言是相通的。