新聞中心
SQL(結(jié)構(gòu)化查詢語(yǔ)言)是一門用于管理關(guān)系型數(shù)據(jù)庫(kù)和對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)執(zhí)行多種操作的標(biāo)準(zhǔn)化編程語(yǔ)言。SQL創(chuàng)建于20世紀(jì)70年代,它由數(shù)據(jù)庫(kù)管理員使用,開(kāi)發(fā)人員在書(shū)寫(xiě)數(shù)據(jù)集成腳本和數(shù)據(jù)分析的時(shí)候也用它來(lái)建立并執(zhí)行分析查詢。

SQL的使用包括修改數(shù)據(jù)庫(kù)表和索引結(jié)構(gòu);增加,更新和刪除數(shù)據(jù)記錄;以及為事務(wù)處理和分析應(yīng)用程序恢復(fù)數(shù)據(jù)庫(kù)信息子集。查詢和其他SQL操作采用的是將命令書(shū)寫(xiě)為語(yǔ)句的形式。常用的SQL語(yǔ)句有選擇,增加,插入,更新,刪除,創(chuàng)建,修改和截?cái)唷?/p>
SQL在1970年代末到1980年代初成為關(guān)系型數(shù)據(jù)庫(kù)事實(shí)上的標(biāo)準(zhǔn)編程語(yǔ)言,也被稱為SQL數(shù)據(jù)庫(kù)。關(guān)系型系統(tǒng)包含一組有行和列的表。表中的每列對(duì)應(yīng)與一個(gè)數(shù)據(jù)類別,如客戶名稱和地址,而每行則包含了交叉列的一個(gè)數(shù)據(jù)值。
American National Standards Institute(ANSI美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))在1986年采用了正式的SQL標(biāo)準(zhǔn),并且緊接著于1987年被International Organization for Standardization(ISO國(guó)際標(biāo)準(zhǔn)化組織)采用。從那時(shí)起,這兩家標(biāo)準(zhǔn)制定實(shí)體對(duì)此標(biāo)準(zhǔn)發(fā)布了超過(guò)六項(xiàng)聯(lián)合更新;***的版本SQL 2011于今年批準(zhǔn)。
專有的和開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)都圍繞著SQL而構(gòu)建,它們都可供企業(yè)使用。它們包括Microsoft SQL Server,Oracle Database,IBM DB2,SAP HANA,SAP Adaptive Server,MySQL (如今由Oracle擁有) 以及PostgreSQL。但是,這些數(shù)據(jù)庫(kù)產(chǎn)品中的很多是通過(guò)專有擴(kuò)展來(lái)支持SQL的,而這些擴(kuò)展是專門針對(duì)用于過(guò)程編程和其他功能的標(biāo)準(zhǔn)語(yǔ)言的。例如,Microsoft提供了一組名為Transart-SQL(T-SQL)的擴(kuò)展,而Oracle對(duì)于該標(biāo)準(zhǔn)的擴(kuò)展版本是PL/SQL。因此,供應(yīng)商所提供的SQL的不同變體并不能互相完全兼容。
SQL命令分為幾種不同的類型,其中有數(shù)據(jù)操縱語(yǔ)言(DML)和數(shù)據(jù)定義語(yǔ)言(DDL)語(yǔ)句,事務(wù)控制和安全措施。DML詞匯用于恢復(fù)和操作數(shù)據(jù),而DDL語(yǔ)句則是用于對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)進(jìn)行定義和修改。事務(wù)控制有助于管理事務(wù)處理,確保事務(wù)要么完成,要么在錯(cuò)誤或問(wèn)題發(fā)生的時(shí)候進(jìn)行回滾。而安全語(yǔ)句是用于控制數(shù)據(jù)庫(kù)訪問(wèn)以及創(chuàng)建用戶角色和權(quán)限的。
SQL語(yǔ)法是在書(shū)寫(xiě)語(yǔ)句時(shí)候的編碼格式。圖1給出了一個(gè)用Microsoft的T-SQL書(shū)寫(xiě)的DDL語(yǔ)句例子,它是用來(lái)對(duì)SQL Server 2016中的一個(gè)數(shù)據(jù)庫(kù)表進(jìn)行修改的。
SQL Server 2016中的T-SQL代碼示例
圖1. SQL Server 2016中的T-SQL代碼示例。這是針對(duì)ALTER TABLE WITH (ONLINE = ON | OFF)選項(xiàng)的代碼。
SQL-on-Hadoop查詢引擎是SQL的一個(gè)較新的分支,它可以讓有圍繞Hadoop系統(tǒng)而構(gòu)建的大數(shù)據(jù)架構(gòu)的企業(yè)對(duì)其進(jìn)行利用從而不必使用更為復(fù)雜且生疏的語(yǔ)言。特別是用于開(kāi)發(fā)批處理應(yīng)用程序的MapReduce編程環(huán)境。通過(guò)Hadoop分銷商和其他供應(yīng)商已有十多款SQL-on-Hadoop工具可供使用了。其中很多是開(kāi)源軟件或是這些技術(shù)的商業(yè)版本。此外,Apache Spark處理引擎通常用于連接Hadoop,包括一個(gè)Spark SQL模型,它同樣支持基于SQL的編程。
一般來(lái)說(shuō),SQL-on-Hadoop仍是一項(xiàng)新興技術(shù),而且大多數(shù)可用的工具并不支持SQL關(guān)系型實(shí)現(xiàn)中所提供的所有功能。但隨著各個(gè)公司尋求獲得擁有大數(shù)據(jù)應(yīng)用程序編程SQL技能的開(kāi)發(fā)和分析人員,它們正逐漸成為Hadoop部署的固定組件。
新聞名稱:TT百科:SQL(結(jié)構(gòu)化查詢語(yǔ)言)
新聞來(lái)源:http://m.fisionsoft.com.cn/article/dhdooeo.html


咨詢
建站咨詢
