T_SQL和SQL的区别

一. SQL Server和T-SQL的区别(⭐T-SQL 包含了 SQL)

  1. SQL Server是结构化查询语言,是目前关系型数据库管理系统中使用最广泛的查询语言

  1. T-SQL是标准SQL语言的扩展,是SQL Server的核心,在SQL的的基础上添加了变量,运算符,函数和流程控制等,Microsoft SQL Server支持的语言

二.T-SQL语言的组成

  1. 数据定义语言(DDL:CREATE、DROP、ALTER)定义存储数据的结构和组织

2.数据操纵语言(DML:INSERT(插入)、UPDATE(修改)、DELETE(删除))添加新数据、删除旧数据和修改以前存储的数据对数据库进行更新。

3.数据控制语言(DCL):检索、添加和修改数据的能力,保护存储的数据不被未授权的用户所访问

4.数据查询语言(DQL),例如:SELECT语句

5.程序化SQL语句

语 句

功 能

declare

定义查询游标

explan

描述查询描述数据访问计划

open

检索查询结果打开一个游标

fetch

检索一条查询结果记录

close

关闭游标

prepare

为动态执行准备SQL语句

execute

动态执行SQL语句

describe

描述准备好的查询

三.T-SQL语句结构

SELECT 子句 [INTO 子句]

FROM 子句

[WHERE 子句]

[GROUP BY 子句]

[HAVING 子句]

[ORDER BY 子句]

  1. 表达式

declare变量声明语句

  • 局部变量名必须以@开始开头

declare @变量名 [as] 数据类型 = 值

2.select语句赋值

select @变量名 = 字段名 from xx

  1. set赋值

declare @变量名 数据类型

set @变量名 = 值 / (表达式)

一条set赋值语句只能给一个变量赋值,而一条select语句可以给多个变量赋值

// 1
declare @num1 int = 1
// 2
declare @num2 int
select @num2 = 2 from emp where id = 'xx'
// 3
declare @num3 int
set @num3 = 3

3. 函数

数据类型转换函数

convert(数据类型(长度),表达式[,n])

4. 运算符

算术运算符:+、-、*、/、%(求余)

字符串运算符:+(连接)

比较运算符:=、>、>=、<、<=、<>(不等于)、!>(不大于)、!<(不小于)

逻辑运算符:NOT、AND、OR、ALL(所有)、ANY(或SOME,任意一个)、BETWEEN…AND、

EXISTS(存在)、IN(在范围内)、LIKE(匹配)

按位运算符:&(位与)、|(位或)、^(按位异或)

一元运算符:+(正)、-(负)、~(按位取反)

赋值运算符:=(等于)

5. 流程控制

BEGIN…END

语句用于将多个 Transact-SQL 语句组合为一个逻辑块。当流程控制语句必须执行一个包含两条或两条以上的 T-SQL 语句的语句块时,使用 BEGIN…END 语句。

declare @x int,@y int,@t int
set @x=1
set @y=2
begin
set @t=@x
set @x=@y
set @y=@t
end
print @x
print @y
IF

在 SQL Server 中为了控制程序的执行方向,也会像其他语言(如C语言)有顺序、选择和循环 3 种控制语句,其中 IF 就属于选择判断结构

declare @x int
set @x = 8
if @x % 2 = 0
print '@x 偶数'
print 'end'
IF…ELSE
declare @x int,@y int
set @x = 8
set @y = -3
if @x > 0
    if @y > 0
        print '@x@y位于第一象限'
    else
        print '@x@y位于第四象限'
else
    if @y > 0
        print '@X@y位于第二象限'
    else
        print '@x@y位于第三象限'
WHILE

WHILE 子句是 T-SQL 语句支持的循环结构。在条件为真的情况下,WHILE 子句可以循环地执行其后的一条 T-SQL 命令。如果想循环执行一组命令,则需要配合 BEGIN…END 子句使用

declare @n int,@sum int
set @n = 1
set @sum = 0
while @n <= 10
begin
    set @sum = @sum + @n
    set @n = @n + 1
end
print @sum

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢迅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值