- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语言与资料型别
第 4 章 認識 SQL 語言與資料型別 本章提要 4-1 SQL 語言的興起與語法標準 4-2 SQL 語言與傳統程式語言的差別 4-3 關鍵字、子句與敘述 4-4 SQL 語言的功能分類 4-5 資料型別 4-6 欄位的 NULL 值與 DEFAULT 值 4-7 識別名稱 (Identifier) 4-1 SQL 語言的興起與語法標準 SQL 語言是在 1970 年代晚期, 由 IBM 公司在美國加州聖荷西 (San Jose) 的研究單位所發展出來的一套程式語言, 當時是使用於 DB2 關聯式資料庫系統中。 直到 1981 年, IBM 推出第一套商業用途的 SQL/DS 關聯式資料庫, 再加上 Oracle 與其它業者也陸續推出許多種關聯式資料庫管理系統, 才使得 SQL 語言被廣泛使用。 SQL 語言的興起與語法標準 SQL 的語法標準有「業界標準」與「ANSI SQL 標準」之分。 關聯式資料庫百家爭鳴, 各家公司都可能有各自的 SQL 語法或是定義不同的資料型別, 例如 Sybase 與 Microsoft 公司使用 Transact-SQL (簡稱 T-SQL), 而 Oracle 公司則使用 PL/SQL (Procedural Language extension to SQL), 將原來 非程序性 的 SQL 語法改為 程序性 (procedural) 的語法。 SQL 語言的興起與語法標準 為了避免各產品之間的 SQL 語法不相容, 形成多頭馬車的狀況, 因此由 ANSI (American National Standards Institute, 美國國家標準局) 制定出 ANSI SQL-92, 以定義出 SQL 的關鍵字與語法標準。其後更陸續發展出 SQL-99, 及目前最新版的 SQL-2003 。 大體而言, 業界的產品都是在包含 ANSI SQL 的基礎下, 再擴充自家產品的功能, 以求能展現出本身的特色。 4-2 SQL 語言與傳統程式語言的差別 用 SQL 語言寫成的程式必須應用在資料庫管理系統中, 本身並不能獨立執行, 而且其為 非程序性 (non-procedural) 語言, 與我們一般所熟悉的 C、PASCAL、BASIC ... 等程式語言可說是大不相同。 語言與傳統程式語言的差別 一般的程式語言要存取資料庫時, 必須先了解資料庫存放資料的結構, 而且每個存取動作都要寫得清清楚楚, 程式顯得相當繁雜。 但使用 SQL 語言, 我們只要告訴資料庫管理系統:『我現在需要這些資料, 請將結果給我』, 其餘就全部交由資料庫管理系統自行處理了。 例如, 我們要從一個書籍資料表中找出價格高於 400 元的書籍, 並列出所有的欄位資料, 用 SQL 語言來寫, 只要下面幾行就可以了: 語言與傳統程式語言的差別 我們只需指出自己所要的資料、地點、條件, 根本不必知道 SQL Server 是怎麼找到或整理資料的, 這實在是相當省事。 不過, 為了加強 SQL 語言的能力, SQL Server 在其使用的 T-SQL 中也增加了許多流程控制及存取單筆記錄的指令, 例如 IF...ELSE...、WHILE、GOTO、CURSOR、FETCH ... 等, 這些在本書的『進階篇』中會陸續為您介紹。 4-3 關鍵字、子句與敘述 SQL 語法的基礎是子句 (clause), 子句中會包括一些關鍵字 (keyword)。 關鍵字是對 SQL Server 有特別意義的字, 例如 SELECT 、FROM 與 WHERE ... 等。至於敘述 (statement) 則是指一組可產生存取資料庫結果的子句集合。例如: 關鍵字、子句與敘述 前面 3 行子句組合起來便成為一組敘述, 其作用是:從 (FROM) 書籍資料表中, 找出符合條件 (WHERE), 即價格欄位超過 400 元的記錄, 並將這些記錄的所有欄位都挑選 (SELECT) 出來。 但是, 敘述不一定要由多個子句組成!如果一個子句就能獨立完成一件事, 該子句就是一個敘述。例如: 此例中, 一個子句就可以完成建立新資料庫的動作, 所以這個子句也是一個敘述。 4-4 SQL 語言的功能分類 SQL 語法中的敘述, 依用途的不同, 可分為 DDL (Data Definition Language, 資料定義語言)、DML (Data Manipulation Language, 資料處理語言) 與 DCL (Data Control Language, 資料控制語言) 3 大類。 每一類的用途各是什麼呢?請看底下的說明。 DDL (Data Definition Language) 在 SQL Server 中, 每一個資料庫、資
文档评论(0)