SQL Server 入门:T-SQL 与 SSMS 管理
Microsoft SQL Server 入门:T-SQL 与 SSMS 管理
Microsoft SQL Server 是目前应用最广泛的关系型数据库管理系统之一。对于初学者而言,最重要的两样东西是 T-SQL(Transact-SQL,微软对标准 SQL 的扩展语言)和 SSMS(SQL Server Management Studio,图形化管理工具)。本教程将带你从零开始,学习如何安装、连接,并通过 T-SQL 命令和 SSMS 界面进行数据库的创建、查询与日常管理。
环境准备:安装与连接
安装 SQL Server 与 SSMS
- SQL Server 版本建议:初学者可以使用免费的 SQL Server Express 或 Developer 版本(功能完整但不可用于生产)。
- 下载地址:在微软官网搜索“SQL Server 下载”,选择对应版本,安装时注意记住
sa账户密码,并选择“混合模式身份验证”(Windows 身份验证 + SQL Server 身份验证)。 - SSMS 安装:同样从官网下载最新版 SSMS,它是一个单独的管理工具,安装后即可用来连接数据库实例。
使用 SSMS 连接到数据库引擎
打开 SSMS,弹出“连接到服务器”对话框:
- 服务器类型:数据库引擎
- 服务器名称:如果是本地默认实例,用
.或(local)或localhost;如果是命名实例(如安装时设置了实例名),用.\实例名 - 身份验证:选择“SQL Server 身份验证”,输入登录名(如
sa)和密码,或使用“Windows 身份验证” - 点击“连接”后,左侧“对象资源管理器”会显示数据库服务器层级。
SSMS 界面核心区域
连接成功后,熟悉以下区域会让操作事半功倍:
- 对象资源管理器:树形结构展示数据库、安全性、服务器对象等。右键点击对象可执行多数管理任务。
- 查询编辑器:点击工具栏“新建查询”或使用快捷键
Ctrl+N打开。在这里编写并执行 T-SQL 脚本。 - 结果窗格:执行查询后,下方显示查询结果或消息(如错误、影响行数)。
- 模板浏览器(View 菜单可开启):提供常用操作的脚本模板,拖拽到查询编辑器即可快速生成代码。
T-SQL 基础:数据库与表的创建
创建数据库
在查询编辑器中输入以下 T-SQL 命令,点击“执行”(或按 F5):
CREATE DATABASE MyFirstDB
ON PRIMARY
( NAME = MyFirstDB_Data, FILENAME = 'C:\SQLData\MyFirstDB.mdf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5MB )
LOG ON
( NAME = MyFirstDB_Log, FILENAME = 'C:\SQLData\MyFirstDB.ldf', SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 5MB );
提示:文件路径需确保存在,若不指定路径,数据库会创建在默认位置。执行后刷新对象资源管理器即可看到新数据库。
创建表
将当前数据库切换为 MyFirstDB:
USE MyFirstDB;
GO
CREATE TABLE Students (
StudentID INT PRIMARY KEY IDENTITY(1,1),
FirstName NVARCHAR(50) NOT NULL,
LastName NVARCHAR(50) NOT NULL,
BirthDate DATE,
EnrollmentDate DATETIME DEFAULT GETDATE(),
Email NVARCHAR(100) UNIQUE
);
说明:
IDENTITY(1,1)表示自动编号,从 1 开始每次加 1。NOT NULL强制字段必须有值。DEFAULT GETDATE()在插入数据时自动填入当前日期时间。- 执行后,在对象资源管理器中展开数据库 -> 表,即可看到新建的
Students表。
T-SQL 数据操作:增删改查(CRUD)
插入数据(INSERT)
INSERT INTO Students (FirstName, LastName, BirthDate, Email)
VALUES (N'张三', N'张', '2000-05-15', 'zhangsan@example.com');
INSERT INTO Students (FirstName, LastName, BirthDate, Email)
VALUES (N'李四', N'李', '1999-12-01', 'lisi@example.com');
使用 N 前缀表示 Unicode 字符串,确保中文正确存储。
查询数据(SELECT)
-- 查询所有列
SELECT * FROM Students;
-- 查询指定列,并添加条件
SELECT FirstName, LastName, Email
FROM Students
WHERE BirthDate >= '2000-01-01';
-- 排序和限制行数(SQL Server 2012+ 可用 OFFSET-FETCH 或 TOP)
SELECT TOP 2 * FROM Students ORDER BY StudentID DESC;
更新数据(UPDATE)
UPDATE Students
SET Email = 'newemail@example.com'
WHERE StudentID = 1;
警告:不带 WHERE 子句的 UPDATE 会修改所有行!
删除数据(DELETE)
DELETE FROM Students
WHERE StudentID = 2;
同样,不指定 WHERE 会清空整个表(但更高效清空表可使用 TRUNCATE TABLE Students,它会重置标识计数器)。
使用 SSMS 图形界面完成相同操作
如果暂时不想写脚本,SSMS 提供了直观的可视化方式:
- 创建数据库:右键“数据库” -> “新建数据库”,输入名称,可配置文件和增长选项。
- 创建表:展开目标数据库,右键“表” -> “新建” -> “表”,在网格中定义列名、数据类型、是否允许 Null。右键列可设置主键。
- 编辑数据:右键表名 -> “编辑前 200 行”,直接在网格中增、改、删数据。
- 查询设计器:右键表 -> “选择前 1000 行”可自动生成查询,也可在查询编辑器中使用图形化查询设计器(右键空白处 -> “在编辑器中设计查询”)。
数据库备份与还原
数据库安全必须学会备份。
通过 T-SQL 备份
-- 完整备份到指定文件
BACKUP DATABASE MyFirstDB
TO DISK = N'C:\Backup\MyFirstDB_Full.bak'
WITH INIT, NAME = N'MyFirstDB-完整备份';
通过 SSMS 备份
右键目标数据库 -> “任务” -> “备份”。选择完整备份,添加备份目标路径,确认即可。
还原数据库
-- 先查看备份文件中的逻辑文件名,以便在还原时指定移动路径
RESTORE FILELISTONLY FROM DISK = N'C:\Backup\MyFirstDB_Full.bak';
-- 还原并移动文件到新位置(如还原到其他服务器)
RESTORE DATABASE MyFirstDB_Restored
FROM DISK = N'C:\Backup\MyFirstDB_Full.bak'
WITH MOVE 'MyFirstDB_Data' TO 'C:\SQLData\MyFirstDB_Restored.mdf',
MOVE 'MyFirstDB_Log' TO 'C:\SQLData\MyFirstDB_Restored.ldf';
SSMS 中还原:右键“数据库” -> “还原数据库”,选择设备并指定备份文件,勾选还原的目标数据库,选项页可调整文件路径。
安全性初步:登录名与用户权限
SQL Server 采用两级安全:服务器级别的 登录名 和数据库级别的 用户。
创建登录名(服务器级)
-- 创建 SQL Server 身份验证登录名
CREATE LOGIN TestLogin WITH PASSWORD = 'StrongPassword123!';
创建数据库用户并授权
USE MyFirstDB;
CREATE USER TestUser FOR LOGIN TestLogin;
-- 授予读取和写入权限
ALTER ROLE db_datareader ADD MEMBER TestUser;
ALTER ROLE db_datawriter ADD MEMBER TestUser;
现在使用 TestLogin 登录后,只能访问 MyFirstDB,并可读写数据。
通过 SSMS 操作:展开“安全性” -> “登录名”右键新建;在目标数据库的“安全性” -> “用户”右键新建,并选择对应的登录名,然后设置数据库角色成员身份。
常用维护任务:收缩数据库与查看日志
- 收缩数据库(释放未用空间,生产环境谨慎使用): 右键数据库 -> “任务” -> “收缩” -> “数据库” 或 “文件”。
- 查看错误日志:展开“管理” -> “SQL Server 日志”,双击即可浏览启动、备份、错误等信息。
学习建议
- 多动手:在测试环境中大胆尝试任何 T-SQL 语句。
- 常用快捷键:
F5执行查询,Ctrl+R显示/隐藏结果窗格。 - 善用联机丛书:选中关键字按
F1可打开官方文档。 - 逐步深入:掌握本教程内容后,可继续学习 JOIN、子查询、存储过程、事务与索引。
SQL Server 的入门核心就是 T-SQL 与 SSMS 的配合使用。通过上面的练习,你已经具备了创建数据库、表、进行基本数据操作以及简单管理的能力。继续实践,你会发现更多高效特性。