T-SQL 基础
T-SQL(Transact-SQL)是 SQL Server 对标准 SQL 的扩展。这篇讲 T-SQL 的语言分类(DDL/DQL/DML/DCL)、批处理与注释、变量、运算符及其优先级、标识符规则。
T-SQL 语言分类
| 分类 | 全称 | 作用对象 | 常用语句 |
|---|---|---|---|
| DDL | 数据定义语言 | 对象本身(库、表、视图、存储过程、约束、触发器、索引等) | CREATE、ALTER、DROP |
| DQL | 数据查询语言 | 数据 | SELECT |
| DML | 数据操作语言 | 对象的内容(表或视图的记录) | INSERT、UPDATE、DELETE |
| DCL | 数据控制语言 | 用户权限(数据库和服务器权限) | GRANT、REVOKE、DENY |
批处理与注释
GO:批处理结束标志,执行其前面的语句或一个完整的处理过程。EXEC:调用执行存储过程。
注释:
-- 这是行注释
/* 这是
块注释 */变量
用 DECLARE 定义变量,用 SET 或 SELECT 对变量赋值:
DECLARE @age INT; -- 定义变量
SET @age = 18; -- 赋值
SELECT @age = age FROM 学生表 WHERE 姓名 = '张三'; -- 用查询结果赋值运算符
运算符是进行数学计算、字符操作及字段、常量、变量比较的符号:
| 种类 | 运算符 |
|---|---|
| 算术运算符 | +、-、*、/、% |
| 比较运算符 | =、>、<、>=、<=、<> |
| 字符运算符 | +(字符串连接) |
| 逻辑运算符 | AND、OR、NOT(用于连接 WHERE 子句的查询条件) |
运算符优先级(数字越小越先计算):
| 优先级 | 运算符 |
|---|---|
| 1 | +(正)、-(负)、~(按位取反) |
| 2 | *、/ |
| 3 | +(加)、-(减) |
| 4 | =、>、<、>=、<=、<> |
| 5 | NOT |
| 6 | AND |
| 7 | ALL、BETWEEN、IN、LIKE、OR |
| 8 | =(赋值) |
标识符
数据库对象的名称即为其标识符,分三类:
标准标识符
可包含 1~128 位字符,包括字母、符号(_、@、#)及数字,不允许有空格。
限定标识符
当对象名包含空格,或保留关键字被用作对象名时,需用方括号 [ ] 限定:
CREATE DATABASE [book data]; -- 名称含空格
CREATE DATABASE [database]; -- 使用了保留关键字特殊标识符
| 前缀 | 含义 |
|---|---|
# | 局部临时(表/对象) |
## | 全局临时(表/对象) |
@ | 局部变量 |
@@ | 全局变量(系统函数/全局变量) |
命名规则
- 名字尽量短。
- 尽量使用有意义的名字。
- 使用简单清晰的命名习惯。
- 使用能区分对象类型的标识符,尤其是视图和存储过程。
- 保持对象名和用户名的唯一性。
最后更新于