T-SQL 是 SQL Server 專用的查詢語言,提供四大核心功能群:
資料庫物件是實體儲存單元,擁有唯一名稱並保存資料與關聯資訊。SQL Server 定義六大類物件:
二維陣列結構,由列與行組成。每個欄位(屬性/欄位)具唯一名稱與特定資料類型,定義該欄可儲存的資料格式。
不實際儲存資料,而是透過 SELECT 陳述式從基底資料表衍生而來。檢視定義儲存在資料庫中,可簡化複雜查詢並提供資料安全層。
定義資料有效性規則,優於觸發器與規則。查詢最佳化工具亦利用約束產生高效執行計畫。五大類型:
INSERT 時未指定值將自動使用預設值,支援常數、數學運算式與內建函數。
功能類似 CHECK 約束,但獨立存在可套用多資料表。屬向後相容功能,建議改用約束條件。
T-SQL 指令集合,儲存於資料庫中,支援商務邏輯封裝與自動化回應。
SQL Server 採用 <資料庫名>.<擁有者名>.<物件名> 三段式命名。前兩段可省略,系統預設值分別為目前資料庫與資料庫擁有者(dbo)。
| 資料類型 | 說明 | 同義字 |
|---|---|---|
| bit | 1 位元,值 0 或 1 | |
| int / integer | 4 位元組,-2^31 ~ 2^31-1 | integer |
| smallint | 2 位元組,-2^15 ~ 2^15-1 | |
| tinyint | 1 位元組,0 ~ 255 | |
| decimal(p,s) / numeric | 固定精度數值,精度 p,小數位 s | numeric |
| money | 8 位元組貨幣類型,-2^63 ~ 2^63-1 | |
| smallmoney | 4 位元組貨幣類型,-214,748.3648 ~ +214,748.3647 | |
| float(n) | 近似數值,n=1-24 為 4 位元組/7 位精度;n=25-53 為 8 位元組/15 位精度 | real (n=1-7), float (n=8-15) |
| datetime | 8 位元組,日期+時間,精度 1/300 秒 | |
| smalldatetime | 4 位元組,日期+時間,精度至分鐘 | |
| cursor | 游標參考 | |
| timestamp | 8 位元組,資料庫內唯一二進位數 | |
| uniqueidentifier | 16 位元組,全域唯一識別碼 (GUID) | |
| char(n) | 固定長度非 Unicode 字串,n=1-8000 | character(n) |
| varchar(n) | 可變長度非 Unicode 字串,n=1-8000 | char varying(n) |
| text | 可變長度非 Unicode 資料 |