现在的位置: 首页 > 综合 > 正文

你不知道的事儿—— SQL ? 还是 T-SQL ?

2013年12月09日 ⁄ 综合 ⁄ 共 927字 ⁄ 字号 评论关闭

学习耿老师的视频有一段时间了,一会SQL一会T-SQL,愣是不明白是什么东东!难怪老爷子当年说:我真的很佩服你们,学习的踏雪无痕!用徐志摩的诗来赞美你们:挥一挥衣袖,不带走一片云彩!调侃也罢,激励也罢,不会的东西不去了解永远不会。好奇心害死猫也不全对,查了查SQL和T-SQL两者的联系和区别,多多少少的也想带走一点东西吧。

SQL(StructuredQuery Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。主要包括:数据定义语言(DDL)数据操纵语言(DML) 数据控制语言(DCL)三种类型。其中数据定义语言(DDL) 用于定义数据结构,比如创建create、删除drop更改alter数据库对象等。数据操纵语言(DML)用于检索和修改数据结构,即我们常说的:增Insert
Delete
Update,Select。数据控制语言(DCL) 用于规定数据库用户的各种权限。GRANT:将权限或角色授予用户或其它角色,REVOKE:从用户或数据库角色回收权限,Set Role:禁止或允许一个角色。

T-SQL:SQL 程序设计语言的增强版,它是用来让应用程式与 SQL Server 沟通的主要语言。T-SQL 提供标准 SQL的DDL 和 DML功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程式设计更有弹性。就是说,T-SQL包含了很多SQL所不具备的东东.比如;流程控制语句,批处理,游标,函数等。

举个例子:你是否留意过sql sever查询分析器中的语句是sql 还是T-sql呢?因为 T-SQL 包含了 SQL.也就是说, 你输入了一句
SELECT * FROM 表
这样的标准的 SQL 语句,但是  T-SQL 包含了 SQL,你既可以说你输入的是 SQL , 也可以说你输入了 T-SQL。但是假如你输入了 T-SQL 扩展的功能,不属于 SQL 的:
BEGIN
  PRINT 'Hello World';
END
那么这里,只能说你输入的是 T-SQL, 没法说你输入了 SQL,因为这里是流程控制语句,不是SQL所有~~~

二者有相通,但绝不同!!!(这句话好像是找板砖了,哈哈哈)

抱歉!评论已关闭.