- SQL Server 2016從入門到精通(視頻教學超值版)
- 王英英
- 1040字
- 2019-12-06 15:49:23
4.1 Transact-SQL概述
在前面的章節(jié)中,其實已經(jīng)使用了T-SQL語言,只是沒有系統(tǒng)地對該語言進行介紹。事實上不管應用程序的用戶界面如何,與SQL Server實例通信的所有應用程序都通過將Transact-SQL語句發(fā)送到服務器進行通信。
對數(shù)據(jù)庫進行查詢和修改操作的語言叫作SQL,其含義是結(jié)構(gòu)化查詢語言(Structured Query Languate)。SQL有許多不同的類型,有3個主要的標準:① ANSI(美國國家標準機構(gòu))SQL;②對ANSI SQL修改后在1992年采納的標準,稱為SQL92或SQL2;③最近的SQL99標準。SQL99標準從SQL2擴充而來并增加了對象關(guān)系特征和許多其他新功能。其次,各大數(shù)據(jù)庫廠商提供不同版本的SQL。這些版本的SQL支持原始的ANSI標準,而且在很大程度上支持新推出的SQL92標準。
Transact-SQL語言是SQL的一種實現(xiàn)形式,它包含了標準的SQL語言部分。標準的SQL語句幾乎完全可以在Transact-SQL語言中執(zhí)行,因為包含了這些標準的SQL語言來編寫應用程序和腳本,所以提高了它們的可移植性。Transact-SQL語言在具有SQL的主要特點的同時,還增加了變量、運算符、函數(shù)、流程控制和注釋等語言因素,使得T-SQL的功能更加強大。另外,在標準的ANSI SQL99之外,Transact-SQL語言根據(jù)需要又增加了一些非標準的SQL語言。在有些情況下,使用非標準的SQL語言,可以簡化一些操作步驟。
4.1.1 什么是Transact-SQL
Transact-SQL是Microsoft公司在關(guān)系型數(shù)據(jù)庫管理系統(tǒng)SQL Server中的SQL3標準的實現(xiàn),是微軟對SQL的擴展。在SQL Server中,所有與服務器實例的通信,都是通過發(fā)送T-SQL語句到服務器來實現(xiàn)的。根據(jù)其完成的具體功能,可以將T-SQL語句分為4大類,分別為數(shù)據(jù)操作語句、數(shù)據(jù)定義語句、數(shù)據(jù)控制語句和一些附加的語言元素。
數(shù)據(jù)操作語句:

數(shù)據(jù)定義語句:

數(shù)據(jù)控制語句:

附加的語言元素:

4.1.2 T-SQL語法的約定
表4-1列出了Transact-SQL參考的語法關(guān)系圖中使用的約定,并進行了說明。
表4-1 語法約定

除非另外指定,否則,所有對數(shù)據(jù)庫對象名的Transact-SQL引用將由4部分名稱組成,格式如下:

- server_name:指定鏈接的服務器名稱或遠程服務器名稱。
- database_name:表示如果對象駐留在SQL Server的本地實例中,則指定SQL Server數(shù)據(jù)庫的名稱。如果對象在鏈接服務器中,則database_name將指定OLE DB目錄。
- schema_name:表示如果對象在SQL Server數(shù)據(jù)庫中,則指定包含對象的架構(gòu)的名稱。如果對象在鏈接服務器中,則schema_name將指定OLE DB架構(gòu)名稱。
- object_name:表示對象的名稱。
引用某個特定對象時,不必總是指定服務器、數(shù)據(jù)庫和架構(gòu)供SQL Server數(shù)據(jù)庫引擎標識該對象。但是,如果找不到對象,就會返回錯誤消息。
除了使用時完全限定引用時的4個部分,在引用時若要省略中間節(jié)點,需要使用句點來指示這些位置。表4-2顯示了引用對象名的有效格式。
表4-2 引用對象名格式

許多代碼示例用字母N作為Unicode字符串常量的前綴。如果沒有N前綴,則字符串被轉(zhuǎn)換為數(shù)據(jù)庫的默認代碼頁。此默認代碼頁可能不識別某些字符。
- Monkey Game Development:Beginner's Guide
- Learning Apex Programming
- Python爬蟲開發(fā):從入門到實戰(zhàn)(微課版)
- R語言數(shù)據(jù)可視化之美:專業(yè)圖表繪制指南
- SQL基礎教程(視頻教學版)
- Scientific Computing with Scala
- Mastering Linux Network Administration
- 學習正則表達式
- Flutter跨平臺開發(fā)入門與實戰(zhàn)
- SQL基礎教程(第2版)
- 軟件測試實用教程
- Learning Apache Karaf
- Fast Data Processing with Spark(Second Edition)
- Apache Camel Developer's Cookbook
- .NET 4.5 Parallel Extensions Cookbook