贝博恩创新科技网

SQL Server 2012教程如何快速上手?

SQL Server 2012 综合教程

本教程将分为以下几个部分,帮助你系统地学习 SQL Server 2012:

SQL Server 2012教程如何快速上手?-图1
(图片来源网络,侵删)
  1. 第一部分:基础入门

    • 什么是 SQL Server?
    • 安装 SQL Server 2012
    • 熟悉管理工具 (SSMS)
    • 数据库核心概念
  2. 第二部分:核心语言 - T-SQL

    • 数据定义语言
    • 数据操作语言
    • 数据查询语言 - SELECT 语句详解
    • 数据控制语言
  3. 第三部分:数据库设计与高级对象

    • 数据类型
    • 约束
    • 索引
    • 视图
    • 存储过程与函数
  4. 第四部分:管理与维护

    SQL Server 2012教程如何快速上手?-图2
    (图片来源网络,侵删)
    • 备份与恢复
    • 安全性
    • 作业与自动化
  5. 第五部分:学习资源与总结

    • 官方文档与推荐书籍
    • 实践建议

第一部分:基础入门

什么是 SQL Server?

SQL Server 是由微软开发的关系型数据库管理系统,它使用结构化查询语言 作为其核心语言,用于存储、检索、管理和保护数据,除了核心的数据库引擎,SQL Server 还集成了商业智能、数据分析等多种服务。

安装 SQL Server 2012

在开始之前,你需要一个运行环境。

  • 下载地址:你可以从微软的官方存档页面或第三方可信赖的资源(如 MSDN Subscriber Downloads)下载 SQL Server 2012 的安装文件。
  • 版本选择:对于学习,推荐安装 Express 版本,它是免费的,功能足够满足大部分学习需求,你也可以安装 Developer 版本,它拥有企业版的所有功能,仅限开发、测试和学习使用,不能用于生产环境。
  • 安装步骤
    1. 运行 setup.exe
    2. 选择“安装” -> “全新 SQL Server 独立安装或向现有安装添加功能”。
    3. 在“产品密钥”界面,选择适当的版本(如 Developer Edition)。
    4. 在“功能选择”界面,至少勾选 “数据库引擎服务”“管理工具 - 基本” (Management Tools - Basic),后者包含了我们最重要的工具 SSMS。
    5. 后续按照向导提示完成安装即可。

熟悉管理工具 - SQL Server Management Studio (SSMS)

SSMS 是 SQL Server 的主要管理工具,一个功能强大的图形界面客户端。

SQL Server 2012教程如何快速上手?-图3
(图片来源网络,侵删)
  • 启动 SSMS:安装完成后,从开始菜单找到并启动它。
  • 连接到服务器
    • 服务器类型:通常选择“数据库引擎”。
    • 服务器名称:对于本地安装,输入 (点) 或 localhost(local)
    • 身份验证
      • Windows 身份验证:使用你当前 Windows 系统的用户登录,最简单。
      • SQL Server 身份验证:需要你安装时设置的 sa 用户名和密码。
    • 点击“连接”。
  • SSMS 界面简介
    • 对象资源管理器:左侧面板,用于浏览和管理服务器上的所有数据库、表、视图、存储过程等对象。
    • 查询编辑器:中间的主要区域,用于编写和执行 T-SQL 语句。
    • 属性窗口:右键点击任何对象,选择“属性”可以查看其详细设置。

数据库核心概念

  • 数据库:数据的集合,用于存储特定业务相关的所有表、视图、索引等。
  • :数据库中最基本的对象,由行和列组成,类似于一个电子表格。
  • :表中的一条记录,代表一个实体。
  • :表中的一个字段,定义了记录的某个属性(如姓名、年龄)。
  • 主键:表中唯一标识每一行记录的列或列组合,不能为空,且值必须唯一。

第二部分:核心语言 - T-SQL

T-SQL (Transact-SQL) 是 SQL Server 对标准 SQL 的扩展,增加了变量、流程控制、函数等编程特性。

数据定义语言

用于定义和管理数据库结构。

  • 创建数据库
    CREATE DATABASE MySchoolDB;
    GO
    -- GO 是一个批处理分隔符,告诉 SSMS 将其之前的语句作为一个批次执行。
  • 使用数据库
    USE MySchoolDB;
    GO
  • 创建表
    CREATE TABLE Students (
        StudentID INT PRIMARY KEY, -- 主键
        Name NVARCHAR(50) NOT NULL, -- 非空
        Age INT,
        EnrollmentDate DATE
    );
    GO
  • 修改表
    -- 添加一列
    ALTER TABLE Students ADD Gender CHAR(1);
    GO
  • 删除表
    DROP TABLE Students;
    GO

数据操作语言

用于操作表中的数据。

  • 插入数据
    INSERT INTO Students (StudentID, Name, Age, EnrollmentDate)
    VALUES (1, '张三', 20, '2025-09-01');
    GO
  • 更新数据
    UPDATE Students
    SET Age = 21
    WHERE Name = '张三';
    GO
  • 删除数据
    DELETE FROM Students
    WHERE Name = '张三';
    GO

数据查询语言 - SELECT 语句

这是 SQL 中最核心、最常用的部分。

  • 基本查询

    -- 查询所有学生的所有信息
    SELECT * FROM Students;
    GO
    -- 查询学生的姓名和年龄
    SELECT Name, Age FROM Students;
    GO
  • WHERE 子句 (过滤)

    -- 查询年龄大于20岁的学生
    SELECT * FROM Students WHERE Age > 20;
    GO
    -- 查询名字是'李四'的学生
    SELECT * FROM Students WHERE Name = '李四';
    GO
  • ORDER BY 子句 (排序):

    -- 按年龄升序排列
    SELECT * FROM Students ORDER BY Age ASC;
    GO
    -- 按年龄降序排列
    SELECT * FROM Students ORDER BY Age DESC;
    GO
  • JOIN 子句 (连接多表): 假设我们还有一个 Courses 表。

    CREATE TABLE Courses (
        CourseID INT PRIMARY KEY,
        CourseName NVARCHAR(100)
    );
    GO
    -- 内连接:只返回在两个表中都匹配的行
    SELECT S.Name, C.CourseName
    FROM Students S
    INNER JOIN Courses C ON S.StudentID = C.StudentID; -- 假设 Courses 表有关联字段
    GO
  • 聚合函数

    -- 计算学生总数
    SELECT COUNT(*) AS TotalStudents FROM Students;
    GO
    -- 计算平均年龄
    SELECT AVG(Age) AS AverageAge FROM Students;
    GO
  • GROUP BY 子句

    -- 按性别分组,并计算每组的人数
    SELECT Gender, COUNT(*) AS Count
    FROM Students
    GROUP BY Gender;
    GO

数据控制语言

用于控制数据库的访问权限。

  • 授予权限
    GRANT SELECT ON Students TO MyUser;
    GO

第三部分:数据库设计与高级对象

数据类型

定义列可以存储的数据类型。

  • 数值类型INT, BIGINT, DECIMAL(p,s), FLOAT
  • 字符串类型CHAR(n), VARCHAR(n), NVARCHAR(n) (用于存储 Unicode 字符,如中文)
  • 日期时间类型DATE, DATETIME, DATETIME2
  • 其他类型BIT (布尔值), UNIQUEIDENTIFIER (GUID)

约束

用于强制表中的数据完整性。

  • PRIMARY KEY:主键约束。
  • FOREIGN KEY:外键约束,确保两个表之间的关系。
  • UNIQUE:唯一约束,确保列中的所有值都是唯一的。
  • NOT NULL:非空约束,确保列不能有 NULL 值。
  • CHECK:检查约束,确保列中的值满足特定条件。

索引

类似于书的目录,可以极大地提高数据查询的速度,主键和唯一约束会自动创建索引。

视图

一个虚拟的表,其结果集由存储的查询定义,它简化了复杂查询,并可以隐藏数据的底层结构。

CREATE VIEW v_StudentInfo AS
SELECT StudentID, Name, Age
FROM Students
WHERE Age > 18;
GO
-- 使用视图
SELECT * FROM v_StudentInfo;
GO

存储过程与函数

  • 存储过程:一组为了完成特定功能的预编译 SQL 语句集合,可以接受参数和返回状态值,用于封装业务逻辑,提高性能和安全性。

    CREATE PROCEDURE sp_GetStudentByID
        @StudentID INT
    AS
    BEGIN
        SELECT * FROM Students WHERE StudentID = @StudentID;
    END;
    GO
    -- 执行存储过程
    EXEC sp_GetStudentByID 1;
    GO
  • 用户定义函数:类似存储过程,但必须返回一个值或表。


第四部分:管理与维护

备份与恢复

数据安全至关重要。

  • 备份数据库
    1. 在 SSMS 的“对象资源管理器”中,右键点击你的数据库。
    2. 选择“任务” -> “备份”。
    3. 在弹出的窗口中,设置备份目标和类型,然后点击“确定”。
  • 恢复数据库
    1. 右键点击“数据库”文件夹。
    2. 选择“还原数据库”。
    3. 选择要恢复的备份文件,然后点击“确定”。

安全性

  • 登录名:允许连接到 SQL Server Server 的账户。
  • 用户:在特定数据库中拥有身份的账户,一个登录名可以在不同的数据库中映射为不同的用户。
  • 角色:一组权限的集合,可以将角色分配给用户,简化权限管理。

作业与自动化

使用 SQL Server Agent 可以创建作业,在指定时间或特定事件发生时自动执行任务,如定期备份数据库。


第五部分:学习资源与总结

官方文档与推荐书籍

  • 官方文档 (英文):Microsoft Docs - SQL Server 2012 Documentation,这是最权威的资料。
  • 经典书籍
    • 《SQL Server 2012 高级程序设计》
    • 《T-SQL 查询》

实践建议

  • 动手是最好的老师:不要只看不练,跟着教程一步步操作,自己尝试创建数据库、表,编写各种查询。
  • 从简单到复杂:先熟练掌握 SELECTINSERTUPDATEDELETE,再学习 JOIN、子查询、存储过程等高级主题。
  • 理解“为什么”:不仅要学会怎么做,还要理解为什么要这么做,为什么要建索引?什么是范式?
  • 利用 SSMS:多使用 SSMS 的图形化工具,比如设计表、查看执行计划等,这能帮助你直观地理解数据库结构。

SQL Server 2012 是一个非常强大且经典的数据库系统,通过本教程,你已经掌握了从安装、基本操作到高级概念的核心知识,继续深入学习、不断实践,你将能够熟练地使用 SQL Server 解决各种数据管理问题,祝你学习顺利!

分享:
扫描分享到社交APP
上一篇
下一篇