T-SQL 简介
了解 T-SQL 及其功能。
概述
要与托管在 Microsoft SQL Server(MS SQL)上的数据库进行交互,我们使用 Transact-SQL(T-SQL),这是微软对 SQL 标准的实现。数据库管理系统(DBMS)执行 T-SQL 查询。客户端(例如外部程序)通过特定的 API 发送以 T-SQL 编写的请求。MS SQL Server 执行该请求后,将结果返回给客户端,如下图所示。
MS SQL Server 的广泛应用推动了 T-SQL 的普及。由于 MS SQL Server 在众多大型企业中被广泛使用,学习 T-SQL 具有重要意义。
T-SQL 可用于数据分析中的数据查询,也是数据分析师工具箱中的一项重要工具。此外,T-SQL 是一种过程化编程语言,使开发人员能够在 MS SQL Server 数据库之上构建业务逻辑。
SQL 与 T-SQL 的区别
必须明确区分结构化查询语言(SQL)和 Transact-SQL(T-SQL)。下表总结了两者之间的差异。
| SQL | T-SQL |
|---|---|
| 标准 | 标准的实现 |
| 声明式语言 | 过程式编程语言 |
| 标准语法 | 扩展语法,包含非标准函数 |
| 开源 | 专有技术,由微软拥有 |
换句话说,T-SQL 在 SQL 的基础上进行了扩展,并引入了新的功能。
T-SQL 命令的类型
根据 T-SQL 命令所要完成的任务,它们可以归入以下类别之一:
- 数据定义语言(DDL)
- 数据操作语言(DML)
- 数据控制语言(DCL)
数据定义语言
T-SQL 可用于创建、修改和删除各种数据库对象,如数据库本身、表、存储过程、视图等。数据库对象是能够存储、引用或处理数据的实体。这些命令属于 DDL:
CREATE:用于创建新的数据库对象。ALTER:用于修改现有的数据库对象。DROP:用于删除数据库对象。TRUNCATE:用于清空数据库对象中的数据。
数据操作语言
我们可以使用 T-SQL 来操作数据。这些命令属于 DML:
SELECT:用于从表中提取数据。INSERT:用于向表中插入数据。UPDATE:用于修改现有数据。DELETE:用于从表中删除数据。
数据控制语言
T-SQL 还允许我们控制特定用户对数据库可执行的操作。可以在数据库对象级别配置访问权限。例如,某些用户可能只能以只读模式访问数据库,即他们可以提取数据,但无法修改或插入新信息。本课程不涵盖 T-SQL 中的 DCL 部分,因为软件工程师通常无需处理数据库的安全策略,这通常是数据库管理员的工作。