SQL Server 零基础教程:从入门到实践

第一部分:思想准备与概念入门

在开始敲代码之前,我们先来理解几个核心概念,这就像学开车前,你得知道方向盘、刹车、油门是什么。

sql server零基础教程
(图片来源网络,侵删)

什么是数据库?

你可以把数据库想象成一个超级智能的电子Excel文件柜

  • Excel文件柜:平时我们用Excel存数据,一个Excel文件就是一个“工作簿”,里面可以有多个“工作表”。
  • 数据库:它也是一个存储数据的容器,但比Excel强大无数倍,它不仅可以存储海量数据,还能保证数据的安全性、完整性和并发访问能力。

什么是SQL Server?

SQL Server 是由微软公司开发的一个关系型数据库管理系统

  • 关系型:意味着数据被存储在一系列相互关联的“表格”(Table)中,就像Excel里的工作表一样。
  • 管理系统:意味着它不仅能存数据,还能帮你管理这些数据,比如增、删、改、查,以及用户权限、数据备份等。

SQL Server 就是你用来创建和管理那个“电子Excel文件柜”的软件

什么是SQL?

SQL(Structured Query Language,结构化查询语言)是用来和数据库“对话”的语言。

sql server零基础教程
(图片来源网络,侵删)

无论你用的是SQL Server、MySQL还是Oracle,你都需要用SQL语言来告诉数据库你想要做什么,就像你需要用中文或英文与人交流一样。

SQL语言主要做四件事:

  • 查询:从数据库里找数据。
  • 插入:向数据库里添加新数据。
  • 更新:修改数据库里已有的数据。
  • 删除:从数据库里移除数据。

这四个操作通常被简称为 CRUD (Create, Read, Update, Delete)。


第二部分:环境搭建

工欲善其事,必先利其器,我们需要安装SQL Server和一款管理工具。

sql server零基础教程
(图片来源网络,侵删)

安装 SQL Server

对于初学者,最简单的方式是安装 SQL Server Developer Edition(开发者版),它功能齐全,而且是免费的,仅供学习和开发使用。

安装步骤(简版):

  1. 下载:访问微软官方下载页面 SQL Server Developer Edition
  2. 选择版本:选择 "Developer - x64" 版本。
  3. 运行安装程序:下载后,运行 setup.exe
  4. 安装步骤
    • 安装 -> 全新SQL Server独立安装
    • 产品密钥:选择“具有免费许可证的免费版”。
    • 功能选择:初学者至少需要勾选:
      • 数据库引擎服务:这是SQL Server的核心,负责存储和管理数据。
      • 管理工具 - 基本配置:包含了我们需要的管理工具。
    • 配置:按照向导一步步操作,设置管理员密码(请务必记住!),其他选项保持默认即可。
    • 完成安装:等待安装完成。

安装管理工具

安装SQL Server时会附带一个叫 SQL Server Management Studio (SSMS) 的工具,这是一个图形化界面,让你不用记复杂的命令也能管理数据库,并且是编写和执行SQL代码的主要场所。

如果安装时没勾选,或者想单独下载,可以去 SSMS 官方下载页面 下载。


第三部分:核心概念详解

我们打开SSMS,连接到你的SQL Server实例,来认识一下数据库的内部结构。

一个数据库就像一个公司,它的组织结构如下:

  • 服务器:一栋大楼。
  • 数据库:大楼里的一个部门(比如销售部、人事部)。
  • :部门里的一个档案柜,专门存放一类数据(员工档案表”、“客户信息表”)。
  • :档案柜里的一个文件夹,用来描述数据的一个属性(姓名”、“年龄”、“职位”)。
  • :文件夹里的一份具体的档案,代表一个完整的数据记录(张三,30岁,销售经理”这一整条信息)。

一个简单的例子:员工信息表

列名 数据类型 说明
EmployeeID int (整数) 员工ID,唯一标识
Name nvarchar (可变长度字符串) 员工姓名
Age int (整数) 员工年龄
Department nvarchar (可变长度字符串) 所属部门

第四部分:SQL 基础语法实战

这是本教程的核心,我们将对“员工信息表”进行操作。

创建数据库和表

在操作之前,我们得先有一个“档案柜”和“档案夹”。

-- 1. 创建一个名为 "MyCompany" 的数据库
CREATE DATABASE MyCompany;
GO  -- GO 表示一批SQL语句的结束,SSMS中执行时需要
-- 2. 使用这个数据库
USE MyCompany;
GO
-- 3. 在 "MyCompany" 数据库中创建一个 "Employees" 表
CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY, -- 主键,唯一标识每一行
    Name NVARCHAR(50) NOT NULL,  -- NVARCHAR(50)表示最多50个字符,NOT NULL表示不能为空
    Age INT,
    Department NVARCHAR(50)
);
GO

执行方法:在SSMS中,将上述代码复制到查询窗口,点击工具栏的 "Execute" (执行) 按钮。

插入数据

我们往 Employees 表里添加一些员工档案。

-- 向 Employees 表中插入一行数据
INSERT INTO Employees (EmployeeID, Name, Age, Department)
VALUES (1, '张三', 28, '研发部');
-- 插入多行数据
INSERT INTO Employees (EmployeeID, Name, Age, Department)
VALUES 
    (2, '李四', 32, '市场部'),
    (3, '王五', 25, '研发部'),
    (4, '赵六', 45, '人事部');
GO

查询数据

这是最常用的操作,从表中查找我们需要的信息。

-- a. 查询所有员工的所有信息
SELECT * FROM Employees;
-- * 是一个通配符,代表所有列
-- b. 查询所有员工的姓名和部门
SELECT Name, Department FROM Employees;
-- c. 查询研发部的所有员工
SELECT * FROM Employees WHERE Department = '研发部';
-- d. 查询年龄大于30岁的员工姓名和年龄
SELECT Name, Age FROM Employees WHERE Age > 30;
-- e. 查询所有员工,并按年龄从大到小排序
SELECT * FROM Employees ORDER BY Age DESC; -- DESC是降序,ASC是升序(默认)

更新数据

如果发现某个员工的信息错了,我们需要修改它。

-- 将员工ID为1的员工年龄改为29岁
UPDATE Employees
SET Age = 29
WHERE EmployeeID = 1;
GO

注意WHERE 子句非常重要!如果没有 WHERE,表中所有记录的 Age 都会被更新为29!

删除数据

如果某个员工离职了,我们需要从档案中移除他。

-- 删除员工ID为4的记录
DELETE FROM Employees
WHERE EmployeeID = 4;
GO

注意WHERE 子句同样至关重要!没有 WHERE,整个表的数据都会被清空!


第五部分:进阶与学习路径

当你掌握了以上基础后,就可以开始探索更强大的功能了。

  1. 数据类型:深入学习各种数据类型,如 DATETIME(日期时间)、DECIMAL(精确小数)、BIT(布尔值)等。
  2. 约束:学习 UNIQUE(唯一约束)、DEFAULT(默认值)、CHECK(检查约束)等,让数据更规范。
  3. 多表查询:学习 JOIN,将不同表的数据关联起来查询,查询每个员工及其所在部门的详细信息。
  4. 聚合函数:学习 COUNT()(计数)、SUM()(求和)、AVG()(平均值)、MAX()(最大值)、MIN()(最小值)。
  5. 视图:创建虚拟表,简化复杂查询。
  6. 存储过程:编写一组预编译的SQL语句,实现特定功能,提高性能和安全性。
  7. 事务:确保一组操作要么全部成功,要么全部失败,保证数据一致性。

第六部分:学习资源推荐

  • 微软官方文档:最权威、最准确的学习资料。
  • 视频教程
    • B站:搜索“SQL Server 零基础”、“SQL入门”,有大量免费且优质的中文视频课程。
    • YouTube:搜索 "SQL Server for Beginners",有很多优秀的英文教程。
  • 练习网站
    • W3Schools SQL Tutorial:提供在线SQL环境,可以边学边练。
    • LeetCode / HackerRank:上面有很多SQL题目,可以用来锻炼实战能力。

恭喜你!现在你已经完成了SQL Server的零基础入门。

回顾一下我们的学习路径:

  1. 理解概念:数据库、SQL Server、SQL。
  2. 搭建环境:安装SQL Server和SSMS。
  3. 认识结构:服务器、数据库、表、列、行。
  4. 掌握核心CREATE(建库建表)、INSERT(增)、SELECT(查)、UPDATE(改)、DELETE(删)。
  5. 规划未来:了解进阶学习方向和资源。

SQL是一门实践性很强的语言。最好的学习方法就是“动手做”,现在就打开你的SSMS,创建自己的数据库和表,尝试插入一些你感兴趣的数据(比如你的电影清单、歌单等),然后不断地用SELECT去查询它们。

祝你学习愉快,早日成为SQL高手!