版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQL2 SQL是結(jié)構(gòu)化查詢語言是結(jié)構(gòu)化查詢語言(Structured Query Language)的縮寫,其功能包括的縮寫,其功能包括數(shù)據(jù)查詢數(shù)據(jù)查詢DQL、數(shù)據(jù)操縱、數(shù)據(jù)操縱DML、數(shù)據(jù)定義數(shù)據(jù)定義DDL和數(shù)據(jù)控制和數(shù)據(jù)控制DCL四個部分。四個部分。 它是位于關(guān)系代數(shù)和關(guān)系演算基礎(chǔ)之上的數(shù)據(jù)庫操它是位于關(guān)系代數(shù)和關(guān)系演算基礎(chǔ)之上的數(shù)據(jù)庫操作語言。作語言。 SQL 語言語言簡潔、方便實用、功能齊全簡潔、方便實用、功能齊全,已,已成為目前應用最廣的關(guān)系數(shù)據(jù)庫語言。成為目前應用最廣的關(guān)系數(shù)據(jù)庫語言。3概概 述述SQL語言的發(fā)展語言的發(fā)展 SQL語言是當前最為成功、應
2、用最為廣泛的關(guān)系數(shù)據(jù)庫語言是當前最為成功、應用最為廣泛的關(guān)系數(shù)據(jù)庫語言,其發(fā)展主要經(jīng)歷了以下幾個階段:語言,其發(fā)展主要經(jīng)歷了以下幾個階段:1974年由年由CHAMBERLIN和和BOYEE提出,當時稱為提出,當時稱為SEQUEL(STRUCTURED ENGLISH QUERY LANGUAGE);IBM公司對其進行了修改,并用于其公司對其進行了修改,并用于其SYSTEM R關(guān)關(guān)系數(shù)據(jù)庫系統(tǒng)中;系數(shù)據(jù)庫系統(tǒng)中;1981年年 IBM推出其商用關(guān)系數(shù)據(jù)庫推出其商用關(guān)系數(shù)據(jù)庫SQL/DS,并將其,并將其名字改為名字改為SQL,由于,由于SQL語言功能強大,簡潔易用,語言功能強大,簡潔易用,因此得到了
3、廣泛的使用;因此得到了廣泛的使用; 1. 今天廣泛應用于各種大型數(shù)據(jù)庫,如今天廣泛應用于各種大型數(shù)據(jù)庫,如SYBASE、INFORMIX、 ORACLE、DB2、INGRES等,也用等,也用于各種小型數(shù)據(jù)庫,如于各種小型數(shù)據(jù)庫,如FOXPRO、ACCESS。4 SQL語言標準化語言標準化1. 1982年,美國國家標準化局年,美國國家標準化局(AMERICAN NATIONAL STANDARD INSTITUTE,簡稱,簡稱ANSI)開始制定開始制定SQL標準;標準;2. 1986年,美國國家標準化協(xié)會公布了年,美國國家標準化協(xié)會公布了SQL語言的第一個語言的第一個標準標準SQL86;3. 1
4、987年,國際標準化組織年,國際標準化組織(ISO)通過了通過了SQL86標準;標準;4. 1989年,國際標準化組織年,國際標準化組織(ISO)對對SQL86進行了補充,推進行了補充,推出了出了SQL89標準;標準;5. 1992年,年,ISO又推出了又推出了SQL92標準,也稱為標準,也稱為SQL2;6. 目前目前SQL99(也稱為也稱為SQL3)也被推出,并增加了面向?qū)ο笠脖煌瞥?,并增加了面向?qū)ο蟮墓δ?。的功能?SQL結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQL語言的主要特點語言的主要特點 SQL語言類似于英語的自然語言,簡潔易用。語言類似于英語的自然語言,簡潔易用。 SQL語言是一種語言是一種
5、非過程語言非過程語言,即用戶只要提出,即用戶只要提出“干什么干什么”即可,不必管具體操作過程,也不必了解數(shù)據(jù)的存取路即可,不必管具體操作過程,也不必了解數(shù)據(jù)的存取路徑,只要指明所需的數(shù)據(jù)即可。徑,只要指明所需的數(shù)據(jù)即可。 SQL語言是一種語言是一種面向集合操作面向集合操作的語言,每個命令的操作的語言,每個命令的操作對象是一個或多個關(guān)系,結(jié)果也是一個關(guān)系。對象是一個或多個關(guān)系,結(jié)果也是一個關(guān)系。 SQL語言既是語言既是自含式語言自含式語言,又是,又是嵌入式語言嵌入式語言??瑟毩⑹???瑟毩⑹褂?,也可嵌入到宿主語言中。用,也可嵌入到宿主語言中。 自含式語言可以獨立使用交互命令,適用于終端用戶、自含式
6、語言可以獨立使用交互命令,適用于終端用戶、應用程序員和應用程序員和DBA;1. 嵌入式語言使其嵌入在高級語言中使用,供應用程序嵌入式語言使其嵌入在高級語言中使用,供應用程序員開發(fā)應用程序。員開發(fā)應用程序。6 SQL語言具有以下四類操作一體化的特點語言具有以下四類操作一體化的特點: 數(shù)據(jù)查詢數(shù)據(jù)查詢(QUERY) 數(shù)據(jù)定義數(shù)據(jù)定義(DEFINITION)u表的定義表的定義u視圖定義視圖定義u索引定義索引定義 其他對象定義其他對象定義 數(shù)據(jù)操縱數(shù)據(jù)操縱(MANIPULATION)u增加數(shù)據(jù)增加數(shù)據(jù)u刪除數(shù)據(jù)刪除數(shù)據(jù)u修改數(shù)據(jù)修改數(shù)據(jù) 數(shù)據(jù)控制數(shù)據(jù)控制(CONTROL)u授予權(quán)限授予權(quán)限u收回權(quán)限收
7、回權(quán)限7注意:注意:uSQL語言雖然是國際標準,不同的數(shù)據(jù)庫廠商提供的數(shù)語言雖然是國際標準,不同的數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫產(chǎn)品都對據(jù)庫產(chǎn)品都對SQL部分或全部地支持;但為了商業(yè)競爭,部分或全部地支持;但為了商業(yè)競爭,大都對大都對SQL做了不同的擴充。做了不同的擴充。u為了便于講解,這里我們將以標準為了便于講解,這里我們將以標準SQL為基礎(chǔ),并對其為基礎(chǔ),并對其語法形式做適當簡化。語法形式做適當簡化。uSQL語言不區(qū)分大小寫。語言不區(qū)分大小寫。8介紹兩個基本概念:基本表和視圖。介紹兩個基本概念:基本表和視圖。 基本表基本表(BASE TABLE):是獨立存在的表,不是由其:是獨立存在的表,不是由其
8、它的表導出的表。一個關(guān)系對應一個基本表,一個或它的表導出的表。一個關(guān)系對應一個基本表,一個或多個基本表對應一個存儲文件。多個基本表對應一個存儲文件。 視圖視圖(VIEW):是虛擬的表,是從一個或幾個基本表導:是虛擬的表,是從一個或幾個基本表導出的表。它本身不獨立存在于數(shù)據(jù)庫中,數(shù)據(jù)庫中只出的表。它本身不獨立存在于數(shù)據(jù)庫中,數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對應的數(shù)據(jù),這些數(shù)存放視圖的定義,而不存放視圖對應的數(shù)據(jù),這些數(shù)據(jù)仍存放在導出視圖的基本表中。當基本表中的數(shù)據(jù)據(jù)仍存放在導出視圖的基本表中。當基本表中的數(shù)據(jù)發(fā)生變化時,從視圖中查詢出來的數(shù)據(jù)也隨之改變。發(fā)生變化時,從視圖中查詢出來的數(shù)據(jù)也
9、隨之改變。索引索引是數(shù)據(jù)庫中的一個特殊的文件,用于加快查詢的速是數(shù)據(jù)庫中的一個特殊的文件,用于加快查詢的速度。度。9SQL語言支持數(shù)據(jù)庫的三級模式結(jié)構(gòu),如下圖所示語言支持數(shù)據(jù)庫的三級模式結(jié)構(gòu),如下圖所示 外模式外模式對應于視圖和部分基本表對應于視圖和部分基本表 模式模式(概念模式概念模式)對應于基本表對應于基本表 內(nèi)模式內(nèi)模式對應于存儲文件。對應于存儲文件。SQL視圖視圖1視圖視圖2基本表基本表1基本表基本表2基本表基本表3基本表基本表4存儲文件存儲文件1存儲文件存儲文件2外模式外模式模式模式內(nèi)模式內(nèi)模式10SQL的數(shù)據(jù)描述與操作的數(shù)據(jù)描述與操作 常用常用SQL Server數(shù)據(jù)類型數(shù)據(jù)類型1
10、. 整型數(shù)據(jù)類型整型數(shù)據(jù)類型整型整型(integer)數(shù)據(jù)類型用來存儲整數(shù)。數(shù)據(jù)類型用來存儲整數(shù)。int:可以存放從可以存放從-231到到231-1范圍之間的所有正負整數(shù)。范圍之間的所有正負整數(shù)。每一個每一個int型數(shù)據(jù)需占用型數(shù)據(jù)需占用4個字節(jié)的存儲空間。個字節(jié)的存儲空間。 smallint:可以存放從可以存放從-215到到215-1之間的所有整數(shù)。之間的所有整數(shù)。tinyint:可以存放從可以存放從0到到255之間的所有整數(shù)。之間的所有整數(shù)。 bigint:可以存放從可以存放從-263到到263-1之間的所有整數(shù)。之間的所有整數(shù)。112. 非精確非精確浮點數(shù)據(jù)類型浮點數(shù)據(jù)類型浮點數(shù)據(jù)類型用
11、于存儲實數(shù)。浮點類型的數(shù)據(jù)可能會有舍入誤差。浮點數(shù)據(jù)類型用于存儲實數(shù)。浮點類型的數(shù)據(jù)可能會有舍入誤差。float:其表示范圍從其表示范圍從-1.79E+308到到1.79E+308。定義數(shù)據(jù)時,可以指定。定義數(shù)據(jù)時,可以指定存放數(shù)據(jù)的精度,精度取值范圍為存放數(shù)據(jù)的精度,精度取值范圍為1到到15 語法:語法:float(n)n:如果如果1-24則精度是則精度是7位數(shù),位數(shù),4字節(jié);如果是字節(jié);如果是25-53精度精度15位數(shù),位數(shù),8字字節(jié)。節(jié)。float相當于相當于float(53)real:表示范圍從表示范圍從-3.4E+38到到3.4E+38,最大可以有,最大可以有7位精確位數(shù)。位精確位數(shù)
12、。 real的同義詞是的同義詞是float(24)注意:在企業(yè)管理器中不能使用帶注意:在企業(yè)管理器中不能使用帶n的的float,float默認為默認為float(53),如果使,如果使用用7位精度的浮點數(shù)則用位精度的浮點數(shù)則用real定義。但可在查詢分析器中使用定義。但可在查詢分析器中使用float(n)12decimal和和numeric:類型功能相同,是類型功能相同,是不帶舍入不帶舍入的精確的精確的浮點數(shù),其表示范圍最多可達的浮點數(shù),其表示范圍最多可達38位數(shù)字,位數(shù)字,-10381038??梢灾付ň燃靶?shù)位數(shù),占用字節(jié)可以指定精度及小數(shù)位數(shù),占用字節(jié)5-17例如例如:decimal(6
13、,2)表示最多可存放表示最多可存放6位數(shù)字,并且小數(shù)位數(shù)字,并且小數(shù)點后有點后有2位,那么整數(shù)部分最多有位,那么整數(shù)部分最多有4位。如:位。如:3144.567,設(shè)為此類型后的值為設(shè)為此類型后的值為3144.56。Numeric等于等于decimal13 decimal和和numeric可存儲固定精度和小數(shù)位的數(shù)字數(shù)據(jù),它可存儲固定精度和小數(shù)位的數(shù)字數(shù)據(jù),它們的存儲長度隨精度變化而變化,最少為們的存儲長度隨精度變化而變化,最少為5字節(jié),最多為字節(jié),最多為17字節(jié)。字節(jié)。 l 精度為精度為19時,存儲字節(jié)長度為時,存儲字節(jié)長度為5; l 精度為精度為1019時,存儲字節(jié)長度為時,存儲字節(jié)長度為9
14、; l 精度為精度為2028時,存儲字節(jié)長度為時,存儲字節(jié)長度為13; l 精度為精度為2938時,存儲字節(jié)長度為時,存儲字節(jié)長度為17。 例如若有聲明例如若有聲明numeric(8,3),則存儲該類型數(shù)據(jù)需,則存儲該類型數(shù)據(jù)需5字節(jié),而字節(jié),而若有聲明若有聲明numeric(22,5),則存儲該類型數(shù)據(jù)需,則存儲該類型數(shù)據(jù)需13字節(jié)。字節(jié)。 注意:聲明精確整數(shù)型數(shù)據(jù)時,其小數(shù)位數(shù)必須小于精度;注意:聲明精確整數(shù)型數(shù)據(jù)時,其小數(shù)位數(shù)必須小于精度;在給精確整數(shù)型數(shù)據(jù)賦值時,必須使所賦數(shù)據(jù)的整數(shù)部分位在給精確整數(shù)型數(shù)據(jù)賦值時,必須使所賦數(shù)據(jù)的整數(shù)部分位數(shù)不大于列的整數(shù)部分的長度。數(shù)不大于列的整數(shù)部
15、分的長度。 14浮點型浮點型 浮點型也稱浮點型也稱近似數(shù)值型近似數(shù)值型。顧名思義,這種類型不能。顧名思義,這種類型不能提供精確表示數(shù)據(jù)的精度,使用這種類型來存儲某提供精確表示數(shù)據(jù)的精度,使用這種類型來存儲某些數(shù)值時,有可能會損失一些精度,所以它可用于些數(shù)值時,有可能會損失一些精度,所以它可用于處理取值范圍非常大且對精確度要求不是十分高的處理取值范圍非常大且對精確度要求不是十分高的數(shù)值量,如一些統(tǒng)計量。數(shù)值量,如一些統(tǒng)計量。 有兩種近似數(shù)值數(shù)據(jù)類型:有兩種近似數(shù)值數(shù)據(jù)類型:float(n)和和real,兩者,兩者通常都使用科學計數(shù)法表示數(shù)據(jù),即形為:尾數(shù)通常都使用科學計數(shù)法表示數(shù)據(jù),即形為:尾數(shù)
16、E階數(shù),如階數(shù),如5.6432E20,-2.98E10,1.287659E-9等。等。 15 real:使用:使用4字節(jié)存儲數(shù)據(jù),表數(shù)范圍為字節(jié)存儲數(shù)據(jù),表數(shù)范圍為-3.40E + 38 到到 3.40E + 38,數(shù)據(jù)精度為,數(shù)據(jù)精度為7位有效數(shù)字。位有效數(shù)字。 float:定義中的:定義中的n取值范圍是取值范圍是153,用于指示其精,用于指示其精度和存儲大小。當度和存儲大小。當n在在124之間時,實際上是定義之間時,實際上是定義了一個了一個real型數(shù)據(jù),存儲長度為型數(shù)據(jù),存儲長度為4字節(jié),精度為字節(jié),精度為7位位有效數(shù)字;當有效數(shù)字;當n在在2553之間時,存儲長度為之間時,存儲長度為8
17、字節(jié),字節(jié),精度為精度為15位有效數(shù)字。當缺省位有效數(shù)字。當缺省n時,代表時,代表n在在2553之間。之間。float型數(shù)據(jù)的數(shù)范圍為型數(shù)據(jù)的數(shù)范圍為- 1.79E+308 到到 1.79E+308。 注意:因為注意:因為float和和real不能表示精確數(shù)字故我們大不能表示精確數(shù)字故我們大多數(shù)采用多數(shù)采用numerac和和decimal數(shù)據(jù)類型數(shù)據(jù)類型163. 字符數(shù)據(jù)類型字符數(shù)據(jù)類型 char (n) :存放固定長度的非存放固定長度的非Unicode字符,每個字符占字符,每個字符占一個字節(jié)的存儲空間,一個字節(jié)的存儲空間,n值不能超過值不能超過8000。varchar (n) :存放不固定長
18、度的非存放不固定長度的非Unicode字符,字符,n值不值不能超過能超過8000。text:存放非存放非Unicode字符,其長度可自動改變,其能表字符,其長度可自動改變,其能表示的最大長度為示的最大長度為231-1個字符(個字符(2G)nchar(n):存放固定長度的存放固定長度的Unicode字符,其中字符,其中n值不能值不能超過超過4000。 nvarchar (n) :存放不固定長度的存放不固定長度的Unicode字符,其中字符,其中n值不能超過值不能超過4000。ntext:存放可多達存放可多達230-1個可變長個可變長Unicode字符(字符(1G)174. 日期和時間數(shù)據(jù)類型日期
19、和時間數(shù)據(jù)類型Datetime:用于存儲日期和時間。存儲用于存儲日期和時間。存儲從公元從公元1753年年1月月1日零時起到公元日零時起到公元9999年年12月月31日日23時時59分分59秒秒之間之間的所有日期和時間,精度為的所有日期和時間,精度為3.33毫秒。占用毫秒。占用8個字節(jié)的個字節(jié)的存儲空間。存儲空間。Smalldatetime:與與datetime數(shù)據(jù)類型類似,但其日期時數(shù)據(jù)類型類似,但其日期時間范圍較小,存儲間范圍較小,存儲從從1900年年1月月1日到日到2079年年6月月6日內(nèi)日內(nèi)的日期和時間,精度為的日期和時間,精度為1分鐘。占用分鐘。占用4個字節(jié)的存儲空個字節(jié)的存儲空間。間
20、。185. 貨幣數(shù)據(jù)類型貨幣數(shù)據(jù)類型這種類型的數(shù)據(jù)可以存放一個正或負的貨幣值,其存放這種類型的數(shù)據(jù)可以存放一個正或負的貨幣值,其存放的數(shù)據(jù)中小數(shù)點后總是的數(shù)據(jù)中小數(shù)點后總是4位。位。money:表示范圍為表示范圍為-922337203685477.5808到到922337203685477.5807,每個,每個money類型的數(shù)據(jù)占用類型的數(shù)據(jù)占用8個字節(jié)個字節(jié)的存儲空間。的存儲空間。smallmoney:與與money數(shù)據(jù)類型類似,但其存儲的貨幣數(shù)據(jù)類型類似,但其存儲的貨幣值范圍比值范圍比money數(shù)據(jù)類型小,為數(shù)據(jù)類型小,為-214748.3648到到214748.3647。占用。占用4個
21、字節(jié)個字節(jié)的存儲空間。的存儲空間。6. 位數(shù)據(jù)類型位數(shù)據(jù)類型 bit:這種類型的數(shù)據(jù)僅有兩種取值:這種類型的數(shù)據(jù)僅有兩種取值:0或或1,長度為,長度為1字字節(jié)。適用于存儲一個邏輯值。節(jié)。適用于存儲一個邏輯值。197. 二進制數(shù)據(jù)類型二進制數(shù)據(jù)類型這種數(shù)據(jù)類型用來存儲二進制位串。這種數(shù)據(jù)類型用來存儲二進制位串。binary (n) :n為為18000,數(shù)據(jù)的存儲長度是固定的,數(shù)據(jù)的存儲長度是固定的,存存儲儲n個字節(jié)的二進制位串占用個字節(jié)的二進制位串占用n+4個字節(jié)的存儲空間個字節(jié)的存儲空間。當輸入的二進制數(shù)據(jù)長度小于當輸入的二進制數(shù)據(jù)長度小于n字節(jié)時,余下部分填字節(jié)時,余下部分填0。 varbi
22、nary(n) :數(shù)據(jù)的存儲長度是變化的,占用實際所數(shù)據(jù)的存儲長度是變化的,占用實際所輸入數(shù)據(jù)的長度加上輸入數(shù)據(jù)的長度加上4字節(jié)的存儲空間。字節(jié)的存儲空間。image:用于存儲照片或圖片等信息。最多可存儲長達用于存儲照片或圖片等信息。最多可存儲長達231-1個字節(jié)的數(shù)據(jù)個字節(jié)的數(shù)據(jù)2G.208. 特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型 timestamp:亦稱時間戳數(shù)據(jù)類型,占亦稱時間戳數(shù)據(jù)類型,占8個字節(jié)個字節(jié)的空間,的空間,它提供數(shù)據(jù)庫范圍內(nèi)的惟一值它提供數(shù)據(jù)庫范圍內(nèi)的惟一值。任何一個表中只能有。任何一個表中只能有一個一個timestamp列,該列的值在該行數(shù)據(jù)修改時由列,該列的值在該行數(shù)據(jù)修改時由SQ
23、L Server自動更新,自動更新,反應了數(shù)據(jù)庫中數(shù)據(jù)修改的相對順反應了數(shù)據(jù)庫中數(shù)據(jù)修改的相對順序,是一個二進制格式的遞增序列序,是一個二進制格式的遞增序列。 Uniqueidentifier:這種數(shù)據(jù)類型用于存儲一個這種數(shù)據(jù)類型用于存儲一個16字節(jié)字節(jié)長長的二進制數(shù)據(jù),稱為的二進制數(shù)據(jù),稱為全局惟一標識符代碼全局惟一標識符代碼(Globally Unique Identifier,簡寫為,簡寫為GUID)。在)。在SQL Server中,中,用用NEWID函數(shù)函數(shù)來生成來生成GUID。即使在不同的計算機及。即使在不同的計算機及不同的數(shù)據(jù)庫中,也不會有相同的不同的數(shù)據(jù)庫中,也不會有相同的GUI
24、D。21 空值空值(NULL)空值不同于空白空值不同于空白(空字符串空字符串)或數(shù)值零,通常表示未填寫、未或數(shù)值零,通常表示未填寫、未知知(Unknown)、不可用或?qū)⒃谝院筇砑拥臄?shù)據(jù)。、不可用或?qū)⒃谝院筇砑拥臄?shù)據(jù)。22創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫 例例1:創(chuàng)建一個數(shù)據(jù)庫名為:創(chuàng)建一個數(shù)據(jù)庫名為Student1,數(shù)據(jù)邏輯文件名數(shù)據(jù)邏輯文件名student1_data,物理文件,物理文件student1.mdf,初始大小,初始大小10MB,最最大尺寸無限制,增長速度大尺寸無限制,增長速度10%,日志文件邏輯名,日志文件邏輯名student1_log,物理文件名,物理文件名Student1.ldf,初始大
25、小,初始大小1MB,最,最大大5MB,增長速度,增長速度1MB 例例2:創(chuàng)建一個數(shù)據(jù)庫,名稱為:創(chuàng)建一個數(shù)據(jù)庫,名稱為students,有有10M,20M兩個數(shù)兩個數(shù)據(jù)文件,和兩個據(jù)文件,和兩個10M事務(wù)日志文件。數(shù)據(jù)文件邏輯名事務(wù)日志文件。數(shù)據(jù)文件邏輯名student1,student2,物理文件物理文件student1.mdf,student2.mdf,主,主文件文件 是是student1,由由primary指定,兩個數(shù)據(jù)文件最大分別為指定,兩個數(shù)據(jù)文件最大分別為無限制和無限制和100M,增長速度分別為,增長速度分別為10%和和1M,日志邏輯文件,日志邏輯文件studentlog1和和st
26、udentlog2,物理文件,物理文件studentlog1.ldf和和studentlog2.ld最大尺寸分別是最大尺寸分別是50M,文件增長方式,文件增長方式1M23數(shù)據(jù)庫的修改數(shù)據(jù)庫的修改(注意文件組注意文件組) 把一個包含兩個數(shù)據(jù)文件的文件組和一個事務(wù)日志文件添加把一個包含兩個數(shù)據(jù)文件的文件組和一個事務(wù)日志文件添加到到students數(shù)據(jù)庫中數(shù)據(jù)庫中Alter database studentsAdd filegroup data1Alter database studentsAdd file( name=student3,filename=e:student3.ndf, size=1
27、,maxsize=50,filegrowth=1),(name=student4,filename=“e:student4.ndf, size=2,maxsize=50,filegrowth=10%) to filegroup data1Alter database studentsAdd Log file(name=studentlog3,filename=e:studentlog3.ldfSize=1,maxsize=50,filegrowth=1)24 其他修改數(shù)據(jù)庫其他修改數(shù)據(jù)庫Alter database Add Log file filespec|Add FileGroup fil
28、egroup_name|Add File file filespec,.n to filegroup filegroup_name|Modify name=newDb_name |Remove file logic_name|Remove filegroup filegroup_name|Modify file filespec|Modify filegroup filegroup_name其他數(shù)據(jù)庫操作參看聯(lián)機幫助:其他數(shù)據(jù)庫操作參看聯(lián)機幫助:Alter database A. B. C. D. E. F.25 定義基表定義基表1. 建立基表建立基表 語法:語法:CREATE TABLE (
29、 屬性約束屬性約束 , 屬性約束屬性約束 , 屬性約束屬性約束,表的約束表的約束);26例例1.建立建立student表表CREATE TABLE student(Sno CHAR(5),Sname VARCHAR (8) NOT NULL,Ssex CHAR(2) CHECK (Ssex IN (男男,女女),Sage SMALLINT CHECK(Sage BETWEEN 10 AND 50),Sdept VARCHAR(5),PRIMARY KEY (Sno);27完整性約束完整性約束 Primary Key 約束約束 Foreign key 約束約束 Unique 約束約束 Check
30、約束約束 Default約束約束 為空性約束為空性約束281、實體完整性約束、實體完整性約束 在上例中,如果定義關(guān)系在上例中,如果定義關(guān)系student的完整性約束:實體的完整性約束:實體完整性約束完整性約束(使用關(guān)鍵字使用關(guān)鍵字PRIMARY KEY)和用戶自定和用戶自定義的完整性約束義的完整性約束(使用關(guān)鍵字使用關(guān)鍵字CHECK)。CREATE TABLE student(Sno CHAR(5) PRIMARY KEY,Sname VARCHAR (8),Ssex CHAR(2) CHECK (Ssex IN (男男,女女),Sage SMALLINT CHECK(Sage BETWEEN
31、 10 AND 50),Sdept VARCHAR(5) );29 SQL中,當關(guān)系的主鍵只有一個屬性時,實體完整性約束中,當關(guān)系的主鍵只有一個屬性時,實體完整性約束既可以定義在既可以定義在屬性約束中,也可以定義在表的約束屬性約束中,也可以定義在表的約束中。中。 例例1還可以定義為:還可以定義為:CREATE TABLE student(Sno CHAR(5),Sname VARCHAR (8) NOT NULL,Ssex CHAR(2) CHECK(Ssex IN (男男,女女),Sage SMALLINT CHECK(Sage BETWEEN 10 AND 50),Sdept VARCHA
32、R(5),PRIMARY KEY (Sno);30 一個表中只能定義一個表中只能定義一個主關(guān)鍵字一個主關(guān)鍵字,但當表中的鍵碼不止一,但當表中的鍵碼不止一個時,其他的鍵碼可以用關(guān)鍵字個時,其他的鍵碼可以用關(guān)鍵字UNIQUE說明,可以在屬說明,可以在屬性約束中說明,也可在表的約束中說明。例如學生表中性約束中說明,也可在表的約束中說明。例如學生表中sname也是鍵碼:也是鍵碼:CREATE TABLE student(Sno CHAR(5),Sname VARCHAR (8) UNIQUE,Ssex CHAR(2) CHECK (Ssex IN (男男,女女),Sage SMALLINT CHECK
33、(Sage BETWEEN 10 AND 50),Sdept VARCHAR(5),PRIMARY KEY (Sno); 也可以在最后用也可以在最后用UNIQUE(Sname)定義。定義。31例:創(chuàng)建下表例:創(chuàng)建下表StuSno學號學號Char(8)主鍵主鍵Sname姓名姓名Varchar(10)不重復不重復Sage年齡年齡Smallint1050Sdept系系Varchar(50)不能為空不能為空32分析分析:實體完整性的檢查實際上作用于:實體完整性的檢查實際上作用于插入和修插入和修改記錄的操作改記錄的操作,對刪除記錄操作并沒有必要。另,對刪除記錄操作并沒有必要。另外,外,SQL要想有效的實
34、施實體完整性約束,在鍵要想有效的實施實體完整性約束,在鍵碼上建立索引是非常有必要的碼上建立索引是非常有必要的!332、參照完整性約束、參照完整性約束SQL中,當關(guān)系的外鍵只有一個屬性時,參照完整性約中,當關(guān)系的外鍵只有一個屬性時,參照完整性約束既可以定義在屬性約束中束既可以定義在屬性約束中(用關(guān)鍵字用關(guān)鍵字REFERENCES),也可以定義在表的約束中也可以定義在表的約束中(用關(guān)鍵字用關(guān)鍵字FOREIGN KEY REFERENCES)。例例2.定義成績表定義成績表SCCREATE TABLE SC(Sno CHAR(5) REFERENCES student(Sno) ,Cno CHAR(5
35、) REFERENCES course(Cno) ,Score FLOAT CHECK(Score BETWEEN 0.0 AND 100.0),PRIMARY KEY(Sno,Cno);34 例例2也可定義為:也可定義為:CREATE TABLE SC(Sno CHAR(5),Cno CHAR(5),Score FLOAT CHECK (Score BETWEEN 0.0 AND 100.0),PRIMARY KEY (Sno,Cno),F(xiàn)OREIGN KEY (Sno) REFERENCES student(Sno) ,FOREIGN KEY (Cno) REFERENCES course
36、(Cno);353、用戶自定義完整性約束、用戶自定義完整性約束 第三類重要的約束是用戶自定義的約束,這類約束一第三類重要的約束是用戶自定義的約束,這類約束一般是用于限制某些屬性的取值范圍。般是用于限制某些屬性的取值范圍。這些約束可用如這些約束可用如下兩者之一來表示:下兩者之一來表示:1、對關(guān)系模式的定義中對屬性的約束、對關(guān)系模式的定義中對屬性的約束2、對域的約束,隨后把域的說明為上述的的域、對域的約束,隨后把域的說明為上述的的域 基于屬性的約束包括基于屬性的約束包括NOT NULL約束及約束及CHECK約束。約束。36 如例如例1:CREATE TABLE student(Sno CHAR(5
37、),Sname VARCHAR (8) NOT NULL,Ssex CHAR(2) CHECK (Ssex IN (男男,女女),Sage SMALLINT CHECK(Sage BETWEEN 10 AND 50),Sdept VARCHAR(5),PRIMARY KEY (Sno); CHECK約束中還可以使用約束中還可以使用其他的算術(shù)比較運算符其他的算術(shù)比較運算符及及嵌套嵌套查詢查詢來對屬性進行約束。來對屬性進行約束。374、默認值、默認值 在定義表時可為某些字段設(shè)置一定的默認值。使用在定義表時可為某些字段設(shè)置一定的默認值。使用DEFAULT來進行定義。來進行定義。 我們可對例我們可對例
38、1進行修改,使學生年齡的默認值為進行修改,使學生年齡的默認值為19CREATE TABLE student(Sno CHAR(5) PRIMARY KEY,Sname VARCHAR (8) NOT NULL,Ssex CHAR(2) CHECK (Ssex IN (男男,女女),Sage smallint DEFAULT 19,Sdept VARCHAR(5);38語法格式:語法格式:CREATE TABLEdatabase_name.owner.|owner. table_name ( | column_name AS computed_column_expression |:=CONST
39、RAINT constraint_name | PRIMARY KEY | UNIQUE , . n ) ON filegroup|DEFAULT 395.2 表的創(chuàng)建與維護(其他例)表的創(chuàng)建與維護(其他例)例例5-1 簡單的表定義。簡單的表定義。USE NewSalesGOCREATE TABLE employee ( employee_id char(4) NOT NULL,employee_name char(8) NOT NULL,sex char(2) NOT NULL,birth_date datetime NOT NULL,hire_date datetime NOT NULL,
40、address varchar(50),telephone char(8),wages money,department_id char(4) NOT NULL,resume text NOT NULL)40表的創(chuàng)建與維護表的創(chuàng)建與維護例例5-2 為表指定文件組。為表指定文件組。CREATE TABLE NewSales.dbo.supplier ( supplier_idchar(5)NOT NULL, supplier_name varchar(50) NOT NULL, linkman_name varchar(8), address varchar(50), telephonechar
41、(12) NOT NULL)ON PRIMARY41例例5-3 對對計算列計算列使用表達式。使用表達式。CREATE TABLE salarys ( 姓名姓名 varchar(10), 基本工資基本工資 money, 獎金獎金 money, 總計總計 AS 基本工資基本工資+獎金獎金)425.2 表的創(chuàng)建與維護表的創(chuàng)建與維護例例5-4 定義表定義表autouser自動獲取用戶名稱。自動獲取用戶名稱。CREATE TABLE autouser ( 編號編號 int identity(1,1) NOT NULL, 用戶代碼用戶代碼 varchar(18), 登錄時間登錄時間 AS Getdate(
42、), 用戶名用戶名 AS User_name()435.2 表的創(chuàng)建與維護表的創(chuàng)建與維護例例5-5 創(chuàng)建臨時表。創(chuàng)建臨時表。CREATE TABLE #students ( 學號學號 varchar(8), 姓名姓名 varchar(10), 性別性別 varchar(2), 班級班級 varchar(10)44用企業(yè)管理器來進行表的創(chuàng)建用企業(yè)管理器來進行表的創(chuàng)建關(guān)系圖關(guān)系圖45 表的修改表的修改【查看查看Alter Table幫助示例幫助示例A-G】修改表結(jié)構(gòu)的修改表結(jié)構(gòu)的語法為語法為:ALTER TABLE ADD 完整性約束完整性約束Alter DROP CONSTRAINT const
43、raint_nameDROP COLUMN column_name;注意:刪除列受到諸多限制注意:刪除列受到諸多限制例:修改例:修改Student表,增加表,增加sclass屬性。屬性。ALTER TABLE studentADD sclass CHAR(5);46 表的刪除表的刪除刪除表的刪除表的語法形式為語法形式為:DROP TABLE ;例:刪除表例:刪除表studentDROP TABLE student;47CREATE TABLE student(Sno CHAR(5),Sname VARCHAR (8) NOT NULL,Ssex CHAR(2) CHECK (Ssex IN (
44、男男,女女),Sage SMALLINT CHECK(Sage BETWEEN 10 AND 50),Sdept VARCHAR(5),PRIMARY KEY (Sno); 48 向表中增添記錄向表中增添記錄向表中增添記錄向表中增添記錄分為兩種:分為兩種:增添一條記錄增添一條記錄,增添多條記錄增添多條記錄。這里先講述前者,我們學習了選擇操作后再講述后一種。這里先講述前者,我們學習了選擇操作后再講述后一種。增添記錄的語法增添記錄的語法形式為:形式為:INSERT INTO 屬性列表屬性列表 VALUES(常量列表常量列表);例:向例:向student表增添記錄劉立,表增添記錄劉立,20歲歲,IS
45、系,男系,男 ,學號為學號為7INSERT INTO student VALUES(7,劉立劉立,Male,19,IS);注意:注意:SQL中,中,字符常量字符常量通常要用通常要用單引號單引號括起來,數(shù)括起來,數(shù)字常量直接書寫,日期常量多數(shù)情況用單引號括起字常量直接書寫,日期常量多數(shù)情況用單引號括起來,空值用來,空值用NULL,判斷是否為空值用判斷是否為空值用IS NOT NULL等。等。49 索索 引引 建立索引的語法形式為:建立索引的語法形式為:CREATE UNIQUE INDEX ON (屬性名及排列次屬性名及排列次序的列表序的列表);其中,排列次序為升序其中,排列次序為升序(ASC)
46、或降序或降序(DESC),默認情況下為升序。,默認情況下為升序。 例:在例:在student的的sno上建立唯一索引上建立唯一索引idx_snoCREATE UNIQUE INDEX idx_sno ON student(sno);說明說明 :聚集索引確定表中數(shù)據(jù)的物理順序。聚集索引類似于電:聚集索引確定表中數(shù)據(jù)的物理順序。聚集索引類似于電話簿,后者按姓氏排列數(shù)據(jù)。話簿,后者按姓氏排列數(shù)據(jù)。由于聚集索引規(guī)定數(shù)據(jù)在表中由于聚集索引規(guī)定數(shù)據(jù)在表中的物理存儲順序,因此一個表只能包含一個聚集索引的物理存儲順序,因此一個表只能包含一個聚集索引。但該。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和
47、名索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進行組織一樣。字進行組織一樣。 CREATE UNIQUE CLUSTERED INDEX Idx1 ON t1(c) 50 查看索引查看索引系統(tǒng)存儲過程系統(tǒng)存儲過程sp_helpindex可以返回表的所有索引信可以返回表的所有索引信息,其息,其語法形式如下:語法形式如下:sp_helpindex objname=nameobjname=name 指定當前數(shù)據(jù)庫中的表的名稱指定當前數(shù)據(jù)庫中的表的名稱例:例:sp_helpindex student 修改索引修改索引系統(tǒng)存儲過程系統(tǒng)存儲過程sp_rename可以用來更改索引的名稱,可以用來更
48、改索引的名稱,其語法形式如下:其語法形式如下: sp_renameobjname=object_name, n e w n a m e = n e w _ n a m e , objtype = object_type 51 舉例舉例更改更改student表中的索引表中的索引idx_sno名稱為名稱為idx_sno _end,其程序清單如下:其程序清單如下:sp_rename student.idx_sno, idx_sno _end, index 刪除索引的語法為:刪除索引的語法為:DROP INDEX ;例:刪除索引例:刪除索引idx_snoDROP INDEX student.idx_s
49、no;52基本查詢基本查詢 SQL中數(shù)據(jù)查詢的語法形式為:中數(shù)據(jù)查詢的語法形式為:SELECT DISTINCT FROM WHERE 條件表達式條件表達式GROUP BY 屬性列表屬性列表 HAVING 條件表達式條件表達式ORDER BY 屬性列表屬性列表531、最簡單的查詢、最簡單的查詢(單個表上投影操作單個表上投影操作)例:查詢?nèi)w學生的詳細信息例:查詢?nèi)w學生的詳細信息SELECT *FROM student;注意注意:*號表示按表中屬性定義的順序從左到右號表示按表中屬性定義的順序從左到右顯示所有的屬性值。顯示所有的屬性值。例:查詢?nèi)w學生的姓名和年齡例:查詢?nèi)w學生的姓名和年齡SE
50、LECT sname,sage FROM student;542、去掉查詢結(jié)果中的副本、去掉查詢結(jié)果中的副本那么那么SQL中使用中使用DISTINCT來去掉查詢結(jié)果中的副本。來去掉查詢結(jié)果中的副本。例:查詢選了例:查詢選了1號課或號課或2號課的學生的學號。號課的學生的學號。SELECT DISTINCT snoFROM scWHERE cno =1 OR cno =2;553、屬性的別名、屬性的別名有時我們希望由查詢操作生成的關(guān)系的屬性與該查詢有時我們希望由查詢操作生成的關(guān)系的屬性與該查詢FROM子句后的關(guān)系的屬性有所區(qū)別,那么可以在子句后的關(guān)系的屬性有所區(qū)別,那么可以在SELECT子句中的屬
51、性后面用關(guān)鍵字子句中的屬性后面用關(guān)鍵字AS加上別名來加上別名來實現(xiàn)。實現(xiàn)。 例:查詢所有學生的學號和姓名,新的關(guān)系中例:查詢所有學生的學號和姓名,新的關(guān)系中sname用用name表示表示SELECT sno, sname AS nameFROM student;564、在投影中進行計算、在投影中進行計算可以在可以在SELECT子句中同類型的屬性、屬性與同類子句中同類型的屬性、屬性與同類型的常量、同類型的常量之間進行型的常量、同類型的常量之間進行代數(shù)運算、字符代數(shù)運算、字符連接運算連接運算,還可以利用,還可以利用系統(tǒng)提供的函數(shù)系統(tǒng)提供的函數(shù)等。等。 例:例: 顯示學生的姓名及加一歲后的年齡。顯示
52、學生的姓名及加一歲后的年齡。SELECT sname, sage+1FROM student;例:例: 兩個特殊的查詢兩個特殊的查詢SELECT sname,是是 AS p1, sage+1 AS p2 ,歲歲 AS p3FROM student;SELECT sno, cno, garde*1.1 AS p1FROM SC;575、帶選擇操作的查詢、帶選擇操作的查詢SQL中通過中通過WHERE子句構(gòu)造查詢操作的選擇條件,即子句構(gòu)造查詢操作的選擇條件,即條條件表達式件表達式;可以使用;可以使用、=、=、=、BETWEENAND等算術(shù)比較運算符構(gòu)造查詢條件;等算術(shù)比較運算符構(gòu)造查詢條件;運運算對
53、象算對象可以是常量、可以是常量、FROM后的表的屬性后的表的屬性等。并且可以等。并且可以通過通過AND、OR等將各個選擇條件連接起來。等將各個選擇條件連接起來。條件表達式條件表達式對表中每一個元組進行運算,結(jié)果是對表中每一個元組進行運算,結(jié)果是TRUE或或FALSE;當為當為TRUE時,即符合查詢條件。時,即符合查詢條件。例:例: 查詢年齡小于查詢年齡小于19歲的歲的IS系的學生。系的學生。SELECT *FROM studentWHERE sage 2002-11-15;628、BETWEENANDWHERE子句中的子句中的x BETWEEN a AND b與與x=a AND x= 3 AN
54、D ccredit 80ORDER BY ss DESC;68 SQL查詢中子句的順序查詢中子句的順序到目前為止,我們已經(jīng)遇到出現(xiàn)在到目前為止,我們已經(jīng)遇到出現(xiàn)在select-from-where查詢中的所有查詢中的所有6種子句:種子句:SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY等。等。其中,只有前兩個是必需的。其他任何附加的子其中,只有前兩個是必需的。其他任何附加的子句都必須按照上述的順序出現(xiàn)。句都必須按照上述的順序出現(xiàn)。69sno snamessexsage sdept1Mary Female 19CS2JohnMale18MA3Jake
55、Male19CS4MikeMale20MA5BillMale18CSStudentcnocnamecpno ccredit1Database532Computer Basic43MIS724OS245Data Structure636C+237Software Engineer63Coursesno cno score118712781388216723923193348941785283SC70 當在當在FROM子句后面寫上多個關(guān)系名,并且有選擇子句后面寫上多個關(guān)系名,并且有選擇操作時,即條件連接。操作時,即條件連接。 例例:查詢學習了查詢學習了1號課的學生的名字。號課的學生的名字。SELE
56、CT snameFROM student, scWHERE student.sno = sc.sno and o = 1其中,其中, student.sno = sc.sno為連接條件。為連接條件。注意:注意:student.sno和和sc.sno的寫法為的寫法為.,即當在不同表中出現(xiàn)同名屬性時的區(qū)分方法。即當在不同表中出現(xiàn)同名屬性時的區(qū)分方法。連接查詢連接查詢711、元組變量、元組變量 有時會出現(xiàn)一種特殊的連接查詢,即關(guān)系自身的連有時會出現(xiàn)一種特殊的連接查詢,即關(guān)系自身的連接。那么此時在查詢條件中就需要區(qū)分兩個內(nèi)容上接。那么此時在查詢條件中就需要區(qū)分兩個內(nèi)容上一樣的關(guān)系,這是我們引入了元組變
57、量。這有點類一樣的關(guān)系,這是我們引入了元組變量。這有點類似屬性別名。似屬性別名。 例例: 查詢和查詢和bill同一個系的學生的學號和姓名。假同一個系的學生的學號和姓名。假設(shè)我們不知道劉晨是那個系的。設(shè)我們不知道劉晨是那個系的。SELECT b.snameFROM student AS a, student AS bWHERE a.sdept = b.sdept AND a.sname = bill;其中元組變量其中元組變量a和和b分別用于查詢分別用于查詢bill及要找的學生的系及要找的學生的系72sno snamessexsage sdept1MaryFemale19CS2JohnMale18
58、MA3JakeMale19CS4MikeMale20MA5BillMale18CSStudent as asno snamessexsage sdept1MaryFemale19CS2JohnMale18MA3JakeMale19CS4MikeMale20MA5BillMale18CSStudent as b73連接連接(Join) 連接也稱為連接也稱為連接,是從兩個關(guān)系的笛卡爾積中連接,是從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組。記作:選取屬性間滿足一定條件的元組。記作: trXtsY為連接條件,為連接條件,為比較運算。為比較運算。連接可等價表示為連接可等價表示為:FR S=F(R
59、S)RrsS=t rts |trRtsStrXtsYabc123234333Bae1223CB. abcC.ae1231223423BB.a=C.aC74 有時,元組變量也可以用于簡化書寫,例如以下查有時,元組變量也可以用于簡化書寫,例如以下查詢修改為:詢修改為:SELECT student.snameFROM student, scWHERE student.sno = sc.sno and o = 1;改為:改為:SELECT s.snameFROM student AS s, scWHERE s.sno = sc.sno and o = 1;75嵌套查詢嵌套查詢1、嵌套查詢、嵌套查詢嵌套
60、查詢即在嵌套查詢即在WHERE子句中出現(xiàn)子句中出現(xiàn)select-from-where表表達式的查詢,該達式的查詢,該select-from-where表達式也叫表達式也叫子查詢子查詢。有些連接操作可以用子查詢等價實現(xiàn),而有的查詢則必有些連接操作可以用子查詢等價實現(xiàn),而有的查詢則必須要使用嵌套查詢。須要使用嵌套查詢。子查詢按查詢結(jié)果分為子查詢按查詢結(jié)果分為產(chǎn)生標量值的子查詢產(chǎn)生標量值的子查詢和和查詢結(jié)果查詢結(jié)果為關(guān)系的子查詢?yōu)殛P(guān)系的子查詢。762、產(chǎn)生標量值的子查詢、產(chǎn)生標量值的子查詢某些某些select-from-where表達式的查詢結(jié)果剛好是一個屬性表達式的查詢結(jié)果剛好是一個屬性的一個值,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度護校與養(yǎng)老機構(gòu)合作服務(wù)合同3篇
- 女生節(jié)活動策劃方案(3篇)
- 中小學校實驗室內(nèi)部管理制度范文(二篇)
- 2025年度物流運輸安全環(huán)保服務(wù)協(xié)議范本3篇
- 液壓銑床課程設(shè)計摘要
- 財務(wù)分析圖表課程設(shè)計
- 平路機安全操作規(guī)程范文(2篇)
- 二零二五年度房地產(chǎn)租賃權(quán)包銷合同3篇
- 2025年上半年安全員工作總結(jié)(3篇)
- 2024年滬教版高三歷史上冊階段測試試卷
- 2025年競聘醫(yī)院內(nèi)科醫(yī)生崗位演講稿模版(3篇)
- 虛擬貨幣地址分析技術(shù)的研究-洞察分析
- 無錫市區(qū)2024-2025學年四年級上學期數(shù)學期末試題一(有答案)
- 血液凈化中心院內(nèi)感染控制課件
- 一年級數(shù)學(上)計算題專項練習集錦
- 年產(chǎn)1.5萬噸長鏈二元酸工程建設(shè)項目可研報告
- 《北航空氣動力學》課件
- 紡織廠消防管道安裝協(xié)議
- 【MOOC】思辨式英文寫作-南開大學 中國大學慕課MOOC答案
- 期末測試卷(試題)-2024-2025學年五年級上冊數(shù)學北師大版
- 2024年下半年中國石油大連石化分公司招聘30人易考易錯模擬試題(共500題)試卷后附參考答案
評論
0/150
提交評論