SQL和T-SQL之间的区别
对于SQL,在我的上一篇博客中《何谓SQL Server数据库?与Access数据库 有什么区别》里面,已经着重说明了SQL作为访问和处理数据库的标准的计算机语言,所以这里就不做过多强调。下面我们来说说T-SQL。
T-SQL作为SQL的扩展语言,是SQL程序设计语言的增强版,它是用来让应用程序与SQL Server沟通的主要语言。T-SQL提供标准SQL的DDL和DML功能,加上延伸的函数、系统预存程序以及程式设计结构(如IF和WHILE)让程续设计更有弹性。这里来解释一下“T-SQL提供标准SQL的DDL和DML功能”是什么意思。关系数据库的语言分为三类,它们是数据定义语言,也就是DDL(Data Defining Language);数据操纵语言DML(Data Manufacturing Language)和数据控制语言DCL。而SQL是集DDL、DML、DCL为一体的标准关系数据库语言。其中DDL数据定义语言用于定义和管理SQL数据库中的所有对象的语言;DML数据操纵语言,SQL中处理数据等操作统称为数据操纵语言。
最后说一下T-SQL的由来。美国国家标准局(ANSI)与国际标准化组织已经制定了SQL标准,美国国家标准局发布与国际标准化组织相应的美国标准(可以理解为方便本国使用),1992年国际标准化组织和International Electrotechnical Commission(IEC)发布了SQL国际标准,称为SQL-92。美国国家标准局随之发布的相应标准是ANSI SQL-92。尽管不同的数据库使用的SQL版本有一些差异,但大多数都遵循ANSI SQL标准。SQL Server使用ANSI SQL-92的扩展集,称为T-SQL。
如果用一句话概括的话,SQL作为结构化查询语言,是标准的关系型数据库通用的标准语言;T-SQL是在SQL基础上扩展的SQL Server中使用的语言。