溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

T-SQL的案例分析

發(fā)布時間:2020-12-02 11:20:33 來源:億速云 閱讀:261 作者:小新 欄目:MySQL數(shù)據庫

這篇文章主要介紹了T-SQL的案例分析,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

Transact-SQL通常縮寫為T-SQL,或者TSQL,是Microsoft和Sybase對SQL的專有擴展。Transact-SQL對SQL標準進行擴展,以包含SQL標準中不包含的額外特性。

下面是一個簡單的T-SQL語句的例子:

CREATE DATABASE Movies;

這是一個簡單的T-SQL示例。這將創(chuàng)建一個名為Movies的新數(shù)據庫。

但是,T-SQL提供了在此語句中包含的其他選項,例如數(shù)據庫文件應該位于何處、這些文件的大小、它們的最大大小應該是多少,等等。

T-SQL的一些特性包括:

1、程序編程

2、局部變量

3、支持字符串處理、數(shù)據處理、數(shù)學等多種功能

4、對DELETE和UPDATE語句的更改。特別是,它們允許添加FROM子句,這允許包含連接。

5、T-SQL有一個BULK INSERT批量插入語句,允許你以用戶指定的格式將數(shù)據文件導入數(shù)據庫表或視圖。

上述擴展的主要好處之一是,在使用T-SQL和SQL時,你有更多的可編程性。例如,存儲過程允許你將編程邏輯合并到數(shù)據庫中。你可以將一個或多個參數(shù)傳遞給存儲過程,存儲過程將返回一個輸出,該輸出根據參數(shù)的值而變化。

T-SQL還包含大量內置函數(shù),以及支持用戶定義的函數(shù)。

一個內置函數(shù)的例子

下面是另一個基本的例子,這次使用的是T-SQL的內置函數(shù)之一:

SELECT GETDATE();

輸出:

2018-05-06 23:30:37.003

在本例中,我們使用T-SQL的GETDATE()函數(shù)返回當前日期和時間。這與SELECT語句一起使用,SELECT語句是返回數(shù)據的常用SQL語句。

我們也可以用這個函數(shù)作為另一個函數(shù)的參數(shù)。這里有一個例子:

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

結果:

May

T-SQL的歷史

雖然Transact-SQL(和SQL Server)最廣為人知的名稱是Microsoft,但它實際上是Microsoft和Sybase于1987年開始合作的結果。這一伙伴關系于1994年解散。

此后,T-SQL繼續(xù)得到兩家公司發(fā)布的數(shù)據庫產品的支持,但是,每家公司都按照自己的方向開發(fā)了自己的數(shù)據庫產品。因此,Sybase T-SQL和Microsoft T-SQL之間存在一些差異。

T-SQL和GUI工具

Transact-SQL是SQL Server的核心。SQL Server中的大多數(shù)操作都是使用T-SQL完成的。即使您使用GUI工具(如SSMS或DBeaver)而實際上不進行任何編程,這也是正確的。無論何時使用應用程序與SQL Server交互,應用程序都會在后臺使用T-SQL執(zhí)行指定的任務。

但SQL Server并不是唯一支持Transact-SQL的數(shù)據庫管理系統(tǒng)。Microsoft Azure SQL數(shù)據庫也支持T-SQL。應用程序使用的大多數(shù)T-SQL特性在Microsoft SQL Server和Azure SQL數(shù)據庫中都得到了完全支持(盡管有一些例外)。

關于GO命令

任何使用過T-SQL的人都可能熟悉GO命令。這個關鍵字通常放在一批語句的末尾。例如,上面的第一個例子也可以這樣寫:

CREATE DATABASE Movies;
GO

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

GO是sqlcmd和osql實用程序以及SQL Server Management Studio代碼編輯器可以識別的命令之一,這些命令可以促進批處理和腳本的可讀性和執(zhí)行。GO命令將一批Transact-SQL語句的結束信號發(fā)送給SQL Server實用程序。

SQL Server實用程序將GO解釋為一個信號,表示它們應該將當前這批Transact-SQL語句發(fā)送到SQL Server的一個實例。當前這批語句由自上次執(zhí)行操作以來輸入的所有語句組成,如果這是第一次執(zhí)行操作,則由自特別會話或腳本開始執(zhí)行以來輸入的所有語句組成。

其他專有SQL擴展

Transact-SQL不是SQL標準的唯一擴展。各種數(shù)據庫系統(tǒng)都有自己的擴展。例如,Oracle使用一種私有的過程語言PL/SQL, PostgreSQL使用一種過程語言PL/pgSQL。

盡管專有SQL擴展有其優(yōu)點(比如擴展功能),但它們也有缺點。一個主要缺點是,如果你需要將數(shù)據庫從一個系統(tǒng)移植到另一個系統(tǒng),它們可能會使事情變得困難。例如,如果你的組織突然決定使用Oracle而不是SQL Server,你可能需要遍歷所有SQL Server代碼并為Oracle重寫它。這還要求你熟悉這兩個系統(tǒng)的語法。

感謝你能夠認真閱讀完這篇文章,希望小編分享T-SQL的案例分析內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI