跳至内容

T-SQL 基础

T-SQL(Transact-SQL)是 SQL Server 对标准 SQL 的扩展。这篇讲 T-SQL 的语言分类(DDL/DQL/DML/DCL)、批处理与注释、变量、运算符及其优先级、标识符规则。

T-SQL 语言分类

分类全称作用对象常用语句
DDL数据定义语言对象本身(库、表、视图、存储过程、约束、触发器、索引等)CREATEALTERDROP
DQL数据查询语言数据SELECT
DML数据操作语言对象的内容(表或视图的记录)INSERTUPDATEDELETE
DCL数据控制语言用户权限(数据库和服务器权限)GRANTREVOKEDENY

批处理与注释

  • GO:批处理结束标志,执行其前面的语句或一个完整的处理过程。
  • EXEC:调用执行存储过程。

注释:

-- 这是行注释
/* 这是
   块注释 */

变量

DECLARE 定义变量,用 SETSELECT 对变量赋值:

DECLARE @age INT;        -- 定义变量
SET @age = 18;           -- 赋值
SELECT @age = age FROM 学生表 WHERE 姓名 = '张三';  -- 用查询结果赋值

运算符

运算符是进行数学计算、字符操作及字段、常量、变量比较的符号:

种类运算符
算术运算符+-*/%
比较运算符=><>=<=<>
字符运算符+(字符串连接)
逻辑运算符ANDORNOT(用于连接 WHERE 子句的查询条件)

运算符优先级(数字越小越先计算):

优先级运算符
1+(正)、-(负)、~(按位取反)
2*/
3+(加)、-(减)
4=><>=<=<>
5NOT
6AND
7ALLBETWEENINLIKEOR
8=(赋值)

标识符

数据库对象的名称即为其标识符,分三类:

标准标识符

可包含 1~128 位字符,包括字母、符号(_@#)及数字,不允许有空格

限定标识符

当对象名包含空格,或保留关键字被用作对象名时,需用方括号 [ ] 限定:

CREATE DATABASE [book data];   -- 名称含空格
CREATE DATABASE [database];    -- 使用了保留关键字

特殊标识符

前缀含义
#局部临时(表/对象)
##全局临时(表/对象)
@局部变量
@@全局变量(系统函数/全局变量)

命名规则

  • 名字尽量短。
  • 尽量使用有意义的名字。
  • 使用简单清晰的命名习惯。
  • 使用能区分对象类型的标识符,尤其是视图和存储过程。
  • 保持对象名和用户名的唯一性。
最后更新于