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