第 4 章 認識 SQL 語言與資料型別
本章提要 SQL 語言的興起與語法標準 SQL 語言與傳統程式語言的差別 關鍵字、子句與敘述 SQL 語言的功能分類 資料型別 欄位的 NULL 值與 DEFAULT 值 識別名稱 (Identifier)
SQL 語言的興起與語法標準 SQL 語言是在 1970 年代晚期, 由 IBM 公司在美國加州聖荷西的研究單位所發展出來的一套程式語言, 當時是使用於 DB2 關聯式資料庫系統。 為了避免各產品之間的 SQL 語法不相容, 因此由 ANSI (American National Standards Institute, 美國國國家標準局) 制定 SQL-92, 定義出 SQL 的關鍵字與語法標準, 以提高各家產品在 SQL 語法上的相容性。
SQL 語言與傳統程式語言的差別 SQL 語言寫成的程式必須應用在資料庫管理系統中, 本身並不能獨立執行, 為非程序性 (non-procedural) 語言:
關鍵字、子句與敘述 SQL 語法的基礎是子句 (clause), 子句中會包括一些關鍵字 (keyword)。一組可產生存取資料庫結果的子句集合則稱為敘述 (statement)。
SQL 語言的功能分類 資料定義語言 (Data Definition Language, DDL)
SQL 語言的功能分類 資料處理語言 (Data Manipulation Language, DML)
SQL 語言的功能分類 資料控制語言 (Data Control Language, DCL) 一般是指專門用來設定資料庫物件使用權限的敘述。
資料型別 整數 精確位數 近似浮點數值 日期時間 字串 Unicode 字串 二元碼字串 貨幣 標記 其它
整數
精確位數
近似浮點數值
日期時間
字串
Unicode 字串
二元碼字串
貨幣
標記
其它
NULL 值
DEFAULT 值 建立一個訂單資料表, 其中有 3 個欄位設有 DEFAUL 值:
DEFAULT 值 分別加入 3 筆記錄到訂單資料表中:
DEFAULT 值 將訂單資料表中的記錄顯示出來:
識別名稱的表示法 識別名稱的可用字元:
識別名稱的表示法 識別名稱不可以是 SQL 的關鍵字。 識別名稱不可以有空白字元, 或 _ 、#、@ 以外的特殊字元。 識別名稱的字元長度不得超過 128 個字元。
特殊的識別名稱 由 @ 或 # 開頭的識別名稱具有特殊意義: