什么是T-SQL?-mysql教程-学派吧

Transact-SQL通常缩写为T-SQL,或者TSQL,是Microsoft和Sybase对SQL的专有扩展。Transact-SQL对SQL标准进行扩展,以包含SQL标准中不包含的额外特性。

什么是T-SQL?-mysql教程-学派吧

下面是一个简单的T-SQL语句的例子:

CREATE DATABASE Movies;

这是一个简单的T-SQL示例。这将创建一个名为Movies的新数据库。

但是,T-SQL提供了在此语句中包含的其他选项,例如数据库文件应该位于何处、这些文件的大小、它们的最大大小应该是多少,等等。

T-SQL的一些特性包括:

1、程序编程

2、局部变量

3、支持字符串处理、数据处理、数学等多种功能

4、对DELETE和UPDATE语句的更改。特别是,它们允许添加FROM子句,这允许包含连接。

5、T-SQL有一个BULK INSERT批量插入语句,允许你以用户指定的格式将数据文件导入数据库表或视图。

上述扩展的主要好处之一是,在使用T-SQL和SQL时,你有更多的可编程性。例如,存储过程允许你将编程逻辑合并到数据库中。你可以将一个或多个参数传递给存储过程,存储过程将返回一个输出,该输出根据参数的值而变化。

T-SQL还包含大量内置函数,以及支持用户定义的函数。

一个内置函数的例子

下面是另一个基本的例子,这次使用的是T-SQL的内置函数之一:

SELECT GETDATE();

输出:

2018-05-06 23:30:37.003

在本例中,我们使用T-SQL的GETDATE()函数返回当前日期和时间。这与SELECT语句一起使用,SELECT语句是返回数据的常用SQL语句。

我们也可以用这个函数作为另一个函数的参数。这里有一个例子:

SELECT FORMAT(GETDATE(), 'MMM');

结果:

May

T-SQL的历史

虽然Transact-SQL(和SQL Server)最广为人知的名称是Microsoft,但它实际上是Microsoft和Sybase于1987年开始合作的结果。这一伙伴关系于1994年解散。

此后,T-SQL继续得到两家公司发布的数据库产品的支持,但是,每家公司都按照自己的方向开发了自己的数据库产品。因此,Sybase T-SQL和Microsoft T-SQL之间存在一些差异。

T-SQL和GUI工具

Transact-SQL是SQL Server的核心。SQL Server中的大多数操作都是使用T-SQL完成的。即使您使用GUI工具(如SSMS或DBeaver)而实际上不进行任何编程,这也是正确的。无论何时使用应用程序与SQL Server交互,应用程序都会在后台使用T-SQL执行指定的任务。

但SQL Server并不是唯一支持Transact-SQL的数据库管理系统。Microsoft Azure SQL数据库也支持T-SQL。应用程序使用的大多数T-SQL特性在Microsoft SQL Server和Azure SQL数据库中都得到了完全支持(尽管有一些例外)。

关于GO命令

任何使用过T-SQL的人都可能熟悉GO命令。这个关键字通常放在一批语句的末尾。例如,上面的第一个例子也可以这样写:

CREATE DATABASE Movies;
GO

然而,GO命令实际上不是Transact-SQL的一部分。事实上,GO命令甚至不能占用Transact-SQL语句的同一行。

GO是sqlcmd和osql实用程序以及SQL Server Management Studio代码编辑器可以识别的命令之一,这些命令可以促进批处理和脚本的可读性和执行。GO命令将一批Transact-SQL语句的结束信号发送给SQL Server实用程序。

SQL Server实用程序将GO解释为一个信号,表示它们应该将当前这批Transact-SQL语句发送到SQL Server的一个实例。当前这批语句由自上次执行操作以来输入的所有语句组成,如果这是第一次执行操作,则由自特别会话或脚本开始执行以来输入的所有语句组成。

其他专有SQL扩展

Transact-SQL不是SQL标准的唯一扩展。各种数据库系统都有自己的扩展。例如,Oracle使用一种私有的过程语言PL/SQL, PostgreSQL使用一种过程语言PL/pgSQL。

尽管专有SQL扩展有其优点(比如扩展功能),但它们也有缺点。一个主要缺点是,如果你需要将数据库从一个系统移植到另一个系统,它们可能会使事情变得困难。例如,如果你的组织突然决定使用Oracle而不是SQL Server,你可能需要遍历所有SQL Server代码并为Oracle重写它。这还要求你熟悉这两个系统的语法。

相关推荐:《MySQL教程》

以上就是什么是T-SQL?的详细内容,更多请关注php中文网其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/data/3461.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2019年4月9日 下午8:57
下一篇 2019年4月9日 下午8:57

相关推荐

  • Apache服务器是什么-mysql教程-

    Apache服务器是一个开源跨平台的web服务器。它具有多种免费且开源的web技术,适应多种操作系统。另外它还具有为软件添加更多功能的模块,使得它成为功能最丰富的HTTP网络服务器 Apache是一种流行的开源,跨平台的Web服务器,同时它也是现有最流行的web服务器,接下来将在文章中为大家详细介绍这一服务器,希望对大家有所帮助。 【推荐课程:数据库教程】 …

    数据库运维 2019年4月24日
    3.3K00
  • mysql存储引擎:myIsam和innodb的区别-mysql教程-

    MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。 MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYI…

    数据库运维 2019年4月24日
    3.4K00
  • MySQL执行过程以及查询缓存的详细介绍-mysql教程-学派吧

    本篇文章给大家带来的内容是关于MySQL执行过程以及查询缓存的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 MySQL执行一个查询过程:当我们向MySQL发送一个请求的时候,MySQL到底做了什么: 1.客户端发送一条查询给服务器2.服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。3.服务器端…

    2019年4月9日
    2.0K00
  • Linux服务器下MySQL自动备份脚本的使用方法教程-学派吧-

    问题说明 如何对 ECS Linux 系统中部署的 MySQL 进行自动备份。 处理办法 在 ECS Linux 系统中搭建了 MySQL 服务,用户可以使用如下脚本实现 MySQL 的定期自动备份。 使用方法如下: 1. 将以下脚本拷贝到本地,上传到服务器上,名称叫 “autoback.sh” #!/bin/bash #——————…

    数据库运维 2019年1月1日
    2.4K00
  • 讲解mysql默认事务隔离级别是什么-

    mysql数据库事务的隔离级别有4个,而默认的事务处理级别就是’REPEATABLE-READ’,也就是可重复读。下面本篇文章就来带大家了解一下mysql的这4种事务的隔离级别,希望对大家有所帮助。 SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处…

    数据库运维 2019年4月24日
    3.9K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----