久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

SQL

來自站長百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

SQL是“結(jié)構(gòu)化查詢語言(Structured Query Language)”的簡稱,最早的是IBM的圣約瑟研究實驗室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡潔,功能強大,簡單易學(xué),所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應(yīng)用。

目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL語言標(biāo)準(zhǔn)。雖然很多數(shù)據(jù)庫都對SQL語句進行了再開發(fā)和擴展,但是包括Select, Insert, Update, Delete, Create, 以及Drop在內(nèi)的標(biāo)準(zhǔn)的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。

SQL語言按照功能分為4大類:

  • 數(shù)據(jù)查詢語言DQL(Data Query Language):主要是查詢數(shù)據(jù)(SELECT)
  • 數(shù)據(jù)定義語言DDL(Data Definition Language):主要是建立、刪除和修改數(shù)據(jù)對象(CREATE, ALTER, DROP)
  • 數(shù)據(jù)操縱語言DML(Data Manipulation Language):主要是完成數(shù)據(jù)操作的命令,包括查詢(INSERT, UPDATE, DELETE)
  • 數(shù)據(jù)控制語言DCL(Data Control Language):主要是控制對數(shù)據(jù)庫的訪問,服務(wù)器的關(guān)閉、啟動等(GTANT,REVOKE)

SQL發(fā)展歷史[ ]

在70年代初,E.E.Codd首先提出了關(guān)系模型。70年代中期,IBM公司在研制 SYSTEM R關(guān)系數(shù)據(jù)庫管理系統(tǒng)中研制了SQL語言,最早的SQL語言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公布的。

1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS數(shù)據(jù)庫系統(tǒng)中也實現(xiàn)了SQL。

1986年10月,美國ANSI采用SQL作為關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言(ANSI X3. 135-1986),后為國際標(biāo)準(zhǔn)化組織(ISO)采納為國際標(biāo)準(zhǔn)。

1989年,美國ANSI采納在ANSI X3.135-1989報告中定義的關(guān)系數(shù)據(jù)庫管理系統(tǒng)的SQL標(biāo)準(zhǔn)語言,稱為ANSI SQL 89, 該標(biāo)準(zhǔn)替代ANSI X3.135-1986版本。該標(biāo)準(zhǔn)為下列組織所采納:

國際標(biāo)準(zhǔn)化組織(ISO),為ISO 9075-1989報告“Database Language SQL With Integrity Enhancement”
美國聯(lián)邦政府,發(fā)布在The Federal Information Processing Standard Publication(FIPS PUB)127

1992年ISO又推出SQL-92標(biāo)準(zhǔn),亦稱SQL2

1999年起ANSI陸續(xù)公布增加了面向?qū)ο蠊δ艿男聵?biāo)準(zhǔn)SQL-99(亦稱SQL3)的12個標(biāo)準(zhǔn)文本

目前大多數(shù)數(shù)據(jù)庫管理系統(tǒng)均支持SQL-92(SQL2),有少部分支持SQL3

SQL的優(yōu)點[ ]

SQL廣泛地被采用正說明了它的優(yōu)點。它使全部用戶,包括應(yīng)用程序員、DBA管理員和終端用戶受益非淺。

非過程化語言[ ]

SQL是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據(jù)提供自動導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。 SQL不要求用戶指定對數(shù)據(jù)的存放方法。這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。

統(tǒng)一的語言[ ]

SQL可用于所有用戶的DB活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶?;镜腟QL 命令只需很少時間就能學(xué)會,最高級的命令在幾天內(nèi)便可掌握。 SQL為許多任務(wù)提供了命令,包括:

  • 查詢數(shù)據(jù)
  • 在表中插入、修改和刪除記錄
  • 建立、修改和刪除數(shù)據(jù)對象
  • 控制對數(shù)據(jù)和數(shù)據(jù)對象的存取
  • 保證數(shù)據(jù)庫一致性和完整性

以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨的語言,而SQL 將全部任務(wù)統(tǒng)一在一種語言中。

面向集合的操作方式[ ]

SQL是一種面向集合的語言,與面向記錄的方式截然不同,每個命令的操作對象是一個或多個表,結(jié)果也是一個表。這種采用集合的操作方式不僅操作對象、查找結(jié)果可以是記錄的集合,而且一次插入、刪除、更新操作的對象也可以是記錄的集合。

同一種語法結(jié)構(gòu),兩種使用方式[ ]

SQL語言既是自含式語言,又是嵌入式語言,或獨立使用也可嵌入到宿主語言中。作為自含式語言它能夠獨立地用于聯(lián)機交互方式,即在終端機上進行數(shù)據(jù)庫操作,這適用于終端用戶、應(yīng)用程序員和DBA。作為嵌入式語言,SQL語句能夠嵌入到高級語言(例如C、COBOL、FORTRAN、PL/1)程序中,供開發(fā)使用。在這兩種方式下,SQL語法結(jié)構(gòu)基本一致,為用戶提供了極大的靈活性和方便性。

-語言簡潔易用=[ ]

SQL語言設(shè)計巧妙,以簡潔的語句實現(xiàn)強大的功能,9個動詞即可完成核心功能(SELECT,CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,GTANT,REVOKE)。另外語言本身接近英語自然語言,易學(xué)易懂。


是所有關(guān)系數(shù)據(jù)庫的公共語言[ ]

由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉(zhuǎn)到另一個。所有用SQL編寫的程序都是可以移植的。

相關(guān)條目[ ]

參考來源[ ]