sql的全稱是結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language),中文名稱是結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language),一種專用編程語(yǔ)言,一種數(shù)據(jù)庫(kù)查詢和編程語(yǔ)言,用于訪問數(shù)據(jù)、查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。SQL語(yǔ)言由Boyce和Chamberlin于1974年提出,并首先在IBM開發(fā)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)SystemR上實(shí)現(xiàn)。它具有功能豐富、使用方便靈活、語(yǔ)言簡(jiǎn)潔易學(xué)等諸多突出優(yōu)點(diǎn)。Sql特性1。高度非程序化。SQL是第四代語(yǔ)言(4GL)。用戶只需要提出“做什么”而不需要具體說(shuō)明“怎么做”,比如訪問路徑選擇和具體的處理操作等。由系統(tǒng)自動(dòng)完成。2.這種語(yǔ)言簡(jiǎn)潔,易學(xué)易用。SQL雖然功能很強(qiáng),但是語(yǔ)言很簡(jiǎn)潔,核心函數(shù)只用了9個(gè)動(dòng)詞。SQL的語(yǔ)法接近口語(yǔ),所以用戶很容易學(xué)習(xí)和使用。
標(biāo)準(zhǔn)查詢語(yǔ)言SQL的全稱是“結(jié)構(gòu)化查詢語(yǔ)言”。它是IBM的圣何塞研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SYSTEM R開發(fā)的最早的查詢語(yǔ)言,其前身是SQUARE語(yǔ)言。SQL語(yǔ)言結(jié)構(gòu)簡(jiǎn)單,功能強(qiáng)大,簡(jiǎn)單易學(xué),因此自1981年IBM推出以來(lái),得到了廣泛的應(yīng)用。現(xiàn)在無(wú)論是Oracle、Sybase、Informix、SQL Server等大型數(shù)據(jù)庫(kù)管理系統(tǒng),還是Visual Foxporo、PowerBuilder等微機(jī)上常用的數(shù)據(jù)庫(kù)開發(fā)系統(tǒng),都支持SQL語(yǔ)言作為查詢語(yǔ)言。結(jié)構(gòu)化查詢語(yǔ)言由四部分組成:數(shù)據(jù)查詢語(yǔ)言SQL數(shù)據(jù)查詢語(yǔ)言選擇數(shù)據(jù)操作語(yǔ)言SQL數(shù)據(jù)操作語(yǔ)言插入、更新、數(shù)據(jù)定義語(yǔ)言DQL的歷史-數(shù)據(jù)定義語(yǔ)言創(chuàng)建、更改、刪除SQL數(shù)據(jù)控制語(yǔ)言提交工作、回滾工作SQL在20世紀(jì)70年代初,E.E.Codd首先提出了關(guān)系模型。20世紀(jì)70年代中期,IBM在SYSTEM R關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的開發(fā)中開發(fā)了SQL語(yǔ)言。最早的SQL語(yǔ)言(名為SEQUEL2)于1976年11月發(fā)表在IBM研發(fā)雜志上。1979年,ORACLE首次提供了商用SQL,IBM也在DB2和SQL/DS數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)了SQL。1986年10月,ANSI采用SQL作為關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(ANSI X3)的標(biāo)準(zhǔn)語(yǔ)言。135-1986),后來(lái)被國(guó)際標(biāo)準(zhǔn)化組織(ISO)采納為國(guó)際標(biāo)準(zhǔn)。1989年,ANSI采用了ANSI X3.135-1989報(bào)告中定義的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的SQL標(biāo)準(zhǔn)語(yǔ)言,稱為ANSI SQL 89,取代了ANSI X3.135-1986。該標(biāo)準(zhǔn)已被以下組織采用:國(guó)際標(biāo)準(zhǔn)化組織(ISO ), ISO 9075-1989報(bào)告的“具有完整性增強(qiáng)的數(shù)據(jù)庫(kù)語(yǔ)言SQL”美國(guó)聯(lián)邦政府,目前,所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持某種形式的SQL語(yǔ)言,大多數(shù)數(shù)據(jù)庫(kù)都打算遵從ANSI SQL89標(biāo)準(zhǔn)。SQL的優(yōu)勢(shì)SQL的廣泛應(yīng)用說(shuō)明了它的優(yōu)勢(shì)。它讓所有用戶受益,包括應(yīng)用程序員、DBA管理員和最終用戶。(1)非過程化語(yǔ)言SQL是非過程化語(yǔ)言,因?yàn)樗淮翁幚硪粭l記錄,并提供對(duì)數(shù)據(jù)的自動(dòng)導(dǎo)航。SQL允許用戶在高級(jí)數(shù)據(jù)結(jié)構(gòu)上工作,而不是操作單個(gè)記錄,并且可以操作記錄集。所有SQL語(yǔ)句都接受一個(gè)集合作為輸入,并返回一個(gè)集合作為輸出。SQL的collection屬性允許一個(gè)SQL語(yǔ)句的結(jié)果作為另一個(gè)SQL語(yǔ)句的輸入。SQL不要求用戶指定數(shù)據(jù)的存儲(chǔ)方法。該功能使用戶更容易專注于想要的結(jié)果。所有SQL語(yǔ)句都使用查詢優(yōu)化器,查詢優(yōu)化器是RDBMS的一部分,它決定以最快的速度訪問指定數(shù)據(jù)的方式。查詢優(yōu)化器知道存在哪些索引以及在哪里正確使用它們,而用戶永遠(yuǎn)不需要知道表是否有索引以及它有哪種索引。(2)統(tǒng)一語(yǔ)言SQL可用于DB活動(dòng)模型的所有用戶,包括系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、應(yīng)用程序員、決策支持系統(tǒng)人員和許多其他類型的最終用戶。基本的SQL命令可以在短時(shí)間內(nèi)學(xué)會(huì),最高級(jí)的命令可以在幾天內(nèi)掌握。SQL為許多任務(wù)提供了命令,包括:查詢數(shù)據(jù)在表中插入、修改和刪除記錄創(chuàng)建、修改和刪除數(shù)據(jù)對(duì)象控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的訪問確保數(shù)據(jù)庫(kù)的一致性和完整性。以前的數(shù)據(jù)庫(kù)管理系統(tǒng)為上述操作提供了單獨(dú)的語(yǔ)言,而SQL用一種語(yǔ)言統(tǒng)一了所有的任務(wù)。(3)它是所有關(guān)系數(shù)據(jù)庫(kù)的通用語(yǔ)言。由于所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言,用戶可以將他們使用SQL的技能從一個(gè)RDBMS轉(zhuǎn)移到另一個(gè)RDBMS。所有用SQL寫的程序都是可移植的。
SQL的全稱是“結(jié)構(gòu)化查詢語(yǔ)言”。SQL(結(jié)構(gòu)化查詢語(yǔ)言)是一種數(shù)據(jù)庫(kù)查詢和編程語(yǔ)言,用于訪問數(shù)據(jù)和查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。SQL也是數(shù)據(jù)庫(kù)文件格式的擴(kuò)展。SQL是一種高級(jí)非過程化編程語(yǔ)言,允許用戶處理高級(jí)數(shù)據(jù)結(jié)構(gòu)。他不需要用戶指定數(shù)據(jù)存儲(chǔ)方式,也不需要用戶知道具體的數(shù)據(jù)存儲(chǔ)方式,所以底層結(jié)構(gòu)完全不同的不同數(shù)據(jù)庫(kù)系統(tǒng)可以使用相同的SQL語(yǔ)言作為數(shù)據(jù)輸入和管理的接口。它將記錄集作為操作對(duì)象,所有SQL語(yǔ)句接受該記錄集作為輸入,并將該記錄集作為輸出返回。這個(gè)set特性允許一個(gè)SQL語(yǔ)句的輸出成為另一個(gè)語(yǔ)句的輸入,因此SQL語(yǔ)言可以嵌套,這使得它非常靈活和強(qiáng)大。大多數(shù)情況下,需要用其他語(yǔ)言實(shí)現(xiàn)的大型程序的單個(gè)事件,只需要一條SQL語(yǔ)句就可以達(dá)到目的,這也意味著可以用SQL語(yǔ)言編寫非常復(fù)雜的語(yǔ)句。結(jié)構(gòu)化查詢語(yǔ)言是IBM的圣何塞研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SYSTEM R開發(fā)的最早的查詢語(yǔ)言,其前身是SQUARE語(yǔ)言。SQL語(yǔ)言結(jié)構(gòu)簡(jiǎn)單,功能強(qiáng)大,簡(jiǎn)單易學(xué),因此自1981年IBM推出以來(lái),得到了廣泛的應(yīng)用。現(xiàn)在無(wú)論是Oracle、Sybase、Informix、SQL Server等大型數(shù)據(jù)庫(kù)管理系統(tǒng),還是Visual Foxporo、PowerBuilder等微機(jī)上常用的數(shù)據(jù)庫(kù)開發(fā)系統(tǒng),都支持SQL語(yǔ)言作為查詢語(yǔ)言。美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)和國(guó)際標(biāo)準(zhǔn)化組織(ISO)制定了SQL標(biāo)準(zhǔn)。ANSI是美國(guó)工業(yè)和商業(yè)團(tuán)體的組織,它開發(fā)美國(guó)商業(yè)和通信標(biāo)準(zhǔn)。ANSI還是ISO和國(guó)際電工委員會(huì)(IEC)的成員。ANSI發(fā)布與國(guó)際標(biāo)準(zhǔn)組織相對(duì)應(yīng)的美國(guó)標(biāo)準(zhǔn)。1992年,ISO和IEC發(fā)布了SQL的國(guó)際標(biāo)準(zhǔn),稱為SQL-92。ANSI發(fā)布的對(duì)應(yīng)標(biāo)準(zhǔn)是ANSI SQL-92。ANSI SQL-92有時(shí)也稱為ANSI SQL。雖然不同的關(guān)系數(shù)據(jù)庫(kù)使用的SQL版本存在一些差異,但大多數(shù)都遵循ANSI SQL標(biāo)準(zhǔn)。SQL Server使用ANSI SQL-92的擴(kuò)展集,稱為T-SQL,它遵循ANSI制定的SQL-92標(biāo)準(zhǔn)。SQL語(yǔ)言包括四部分:數(shù)據(jù)定義(DDL)語(yǔ)言(如CREATE、DROP、ALTER等語(yǔ)句)、數(shù)據(jù)操作(DML)語(yǔ)言(INSERT、UPDATE、DELETE語(yǔ)句)、數(shù)據(jù)查詢語(yǔ)言(SELECT語(yǔ)句)和數(shù)據(jù)控制語(yǔ)言(如GRANT、REVOKE、COMMIT、ROLLBACK等語(yǔ)句)。SQL語(yǔ)言包括兩種主要編程語(yǔ)言的語(yǔ)句:數(shù)據(jù)定義語(yǔ)言(DDL
SQL是結(jié)構(gòu)化查詢語(yǔ)言的縮寫。SQL是專門為數(shù)據(jù)庫(kù)建立的操作命令集,是一種全功能的數(shù)據(jù)庫(kù)語(yǔ)言。使用時(shí)只需要發(fā)出“做什么”的命令,“怎么做”不需要用戶考慮。SQL功能強(qiáng)大,易學(xué)易用。它已經(jīng)成為數(shù)據(jù)庫(kù)操作的基礎(chǔ),現(xiàn)在幾乎所有的數(shù)據(jù)庫(kù)都支持SQL。
##1二。SQL數(shù)據(jù)庫(kù)數(shù)據(jù)架構(gòu)
SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)架構(gòu)基本上是三層結(jié)構(gòu),但使用的術(shù)語(yǔ)與傳統(tǒng)的關(guān)系模型不同。在SQL中,關(guān)系模式(schema)被稱為“基表”;存儲(chǔ)模式(內(nèi)部模式)稱為“存儲(chǔ)文件”;子模式(外部模式)稱為“視圖”;元組稱為“行”;該屬性稱為列。這個(gè)名字和^00100009a^:一樣對(duì)稱
##1三。SQL語(yǔ)言的組成
在正式學(xué)習(xí)SQL語(yǔ)言之前,我們先對(duì)SQL語(yǔ)言有個(gè)基本的了解,介紹一下SQL語(yǔ)言的構(gòu)成:
1.SQL數(shù)據(jù)庫(kù)是由一個(gè)或多個(gè)SQL模式定義一組表。
2.SQL表由行集組成,行是列的序列(集),每列對(duì)應(yīng)一個(gè)數(shù)據(jù)項(xiàng)。
3.表可以是基本表,也可以是視圖。基本表是實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的表,而視圖是由幾個(gè)基本表或其他視圖組成的表的定義。
4.一個(gè)基本表可以跨越一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可以保存一個(gè)或多個(gè)基本表。每個(gè)存儲(chǔ)文件對(duì)應(yīng)于外部存儲(chǔ)的最后一個(gè)物理文件。
5.用戶可以用SQL語(yǔ)句查詢視圖和基本表。從用戶的角度來(lái)看,視圖和基本表是一樣的。沒有區(qū)別。都是關(guān)系(表)。
6.SQL用戶可以是應(yīng)用程序或最終用戶。SQL語(yǔ)句可以嵌入宿主語(yǔ)言的程序中,如FORTRAN、COBOL、PASCAL、PL/I、C和Ada。SQL也可以在交互環(huán)境中作為最終用戶的獨(dú)立用戶界面。
##1四。操作數(shù)據(jù)庫(kù)
SQL包括所有的數(shù)據(jù)庫(kù)操作,主要由四部分組成:
1.數(shù)據(jù)定義:這部分也叫“SQL DDL”,定義數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),包括定義數(shù)據(jù)庫(kù)、基本表、視圖和索引。
2.數(shù)據(jù)操作:這部分也叫“SQL DML”,包括數(shù)據(jù)查詢和數(shù)據(jù)更新兩種操作,其中數(shù)據(jù)更新包括插入、刪除和更新三種操作。
3.數(shù)據(jù)控制:對(duì)用戶訪問數(shù)據(jù)的控制包括基本表和視圖的授權(quán)、完整性規(guī)則的描述、事務(wù)控制語(yǔ)句等。
4.嵌入式SQL語(yǔ)言的使用規(guī)則:在宿主語(yǔ)言的程序中使用SQL語(yǔ)句的規(guī)則。
下面我們將分別介紹:
##2 (I)數(shù)據(jù)定義
SQL數(shù)據(jù)定義功能包括定義數(shù)據(jù)庫(kù)、基本表、索引和視圖。
首先讓我們了解一下SQL提供的基本數(shù)據(jù)類型:(比如^00100009b^)
1.數(shù)據(jù)庫(kù)的建立和刪除
(1)建立數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)是包含若干基本表格的數(shù)據(jù)集,其語(yǔ)句格式為:
創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)名稱[其他參數(shù)]
其中,數(shù)據(jù)庫(kù)名稱在系統(tǒng)中必須唯一,不能重復(fù),否則會(huì)導(dǎo)致數(shù)據(jù)訪問錯(cuò)誤。[其他參數(shù)]根據(jù)具體的數(shù)據(jù)庫(kù)實(shí)現(xiàn)系統(tǒng)而有所不同。
例如:建立一個(gè)項(xiàng)目管理數(shù)據(jù)庫(kù)(xmmanage),其語(yǔ)句應(yīng)該是:
創(chuàng)建數(shù)據(jù)庫(kù)xmmanage
(2)刪除數(shù)據(jù)庫(kù):從系統(tǒng)中刪除數(shù)據(jù)庫(kù)及其所有內(nèi)容。
該語(yǔ)句的格式為:DROP DATABASE數(shù)據(jù)庫(kù)名稱
示例:刪除項(xiàng)目管理數(shù)據(jù)庫(kù)(xmmanage),其語(yǔ)句應(yīng)為:
刪除數(shù)據(jù)庫(kù)xmmanage
2.基本表的定義和更改
獨(dú)立存在的表稱為基本表,一個(gè)關(guān)系在SQL語(yǔ)言中只對(duì)應(yīng)一個(gè)基本表。基本表的定義是指建立一個(gè)基本的關(guān)系模型,而變更是指刪除和修改數(shù)據(jù)庫(kù)中已有的基本表。
……
結(jié)構(gòu)化查詢語(yǔ)言(SQL)是一種專用編程語(yǔ)言,是一種數(shù)據(jù)庫(kù)查詢和編程語(yǔ)言,用于訪問數(shù)據(jù)、查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。查詢語(yǔ)言是一種高級(jí)非過程化編程語(yǔ)言,它允許用戶處理高級(jí)數(shù)據(jù)結(jié)構(gòu)。它不需要用戶指定數(shù)據(jù)存儲(chǔ)方法,也不需要用戶知道具體的數(shù)據(jù)存儲(chǔ)方法。因此,底層結(jié)構(gòu)完全不同的不同數(shù)據(jù)庫(kù)系統(tǒng)可以使用相同的結(jié)構(gòu)化查詢語(yǔ)言作為數(shù)據(jù)輸入和管理的接口。結(jié)構(gòu)化查詢語(yǔ)言語(yǔ)句可以嵌套,這使得它非常靈活和強(qiáng)大。目的:更新表中的原始數(shù)據(jù)可以單獨(dú)使用。在where matching字段設(shè)置之后,可以更新字段值,既可以一次更新一個(gè)項(xiàng)目,也可以一次更新多個(gè)示例:“Person”表中的原始數(shù)據(jù):last name first name address city nilsen Fred kirke gt 56 stavanger Rasmussen storgt 67。運(yùn)行以下SQL來(lái)更改Person表中姓氏字段為“Rasmussen”的fir。TName更新為“Nina”:更新人員集名字=“Nina”,姓氏=“Rasmussen”。
請(qǐng)到「后臺(tái)-用戶-個(gè)人資料」中填寫個(gè)人說(shuō)明。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
Copyright ? 2016 學(xué)習(xí)鳥. 頁(yè)面生成時(shí)間:0.509秒