SQL, Structured Query Language結構化查詢語言,是一種特定目的程式設計語言,用于管理關系資料庫管理系統(RDBMS),或在關系流資料管理系統中進行流處理。SQL基于關系代數和元組關系演算,包括一個資料定義語言和資料操縱語言。SQL的範圍包括資料插入、查詢、更新和删除,資料庫模式建立和修改,以及資料通路控制。
各種資料庫的SQL方言通常不可移植,特别是在日期時間文法、字元串連接配接、NULL、比較的大小寫敏感方面。SQL在1986年被ANSI标準化,1987年被ISO标準化。
SQL基于關系代數和元組關系演算,包括一個資料定義語言和資料操縱語言。SQL的範圍包括資料插入、查詢、更新和删除,資料庫模式建立和修改,以及資料通路控制。盡管SQL經常被描述為程式設計語言,而且很大程度上是一種聲明式程式設計(4GL),但是其也含有過程式程式設計的元素。
SQL是進階的非過程化程式設計語言,它允許使用者在高層資料結構上工作。它不要求使用者指定對資料的存放方法,也不需要使用者了解其具體的資料存放方式。而它的界面,能使具有底層結構完全不同的資料庫系統和不同資料庫之間,使用相同的SQL作為資料的輸入與管理。它以記錄項目〔records〕的合集(set)〔項集,record set〕作為操縱對象,所有SQL語句接受項集作為輸入,回送出的項集作為輸出,這種項集特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,是以SQL語句可以嵌套,這使它擁有極大的靈活性和強大的功能。在多數情況下,在其他程式設計語言中需要用一大段程式才可實踐的一個單獨事件,而其在SQL上隻需要一個語句就可以被表達出來。這也意味着用SQL可以寫出非常複雜的語句,在不特别考慮性能情況下。
SQL同時也是資料庫檔案格式的擴充名。SQL包含四個部分:資料定義語言、資料操縱語言、資料控制語言、事務控制語言。
|參考資料|
[1] 阿裡雲開發者社群-學習中心-java學習路線-資料庫開發
[2] Media Type registration for application/sql.Internet Assigned Numbers Authority.10 April 2013 [10 April 2013].
[3]Encyclopedia Britannica. SQL.[2013-04-02]