第3章關(guān)系數(shù)據(jù)庫語言SQL_第1頁
第3章關(guān)系數(shù)據(jù)庫語言SQL_第2頁
第3章關(guān)系數(shù)據(jù)庫語言SQL_第3頁
第3章關(guān)系數(shù)據(jù)庫語言SQL_第4頁
第3章關(guān)系數(shù)據(jù)庫語言SQL_第5頁
已閱讀5頁,還剩196頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第3章章 關(guān)系數(shù)據(jù)庫語言關(guān)系數(shù)據(jù)庫語言SQL3.1 SQL3.1 SQL語言概述語言概述3.2 SQL3.2 SQL數(shù)據(jù)定義功能數(shù)據(jù)定義功能3.3 SQL3.3 SQL數(shù)據(jù)查詢功能數(shù)據(jù)查詢功能3.4 SQL3.4 SQL數(shù)據(jù)操縱功能數(shù)據(jù)操縱功能3.5 3.5 視圖視圖3.6 SQL3.6 SQL數(shù)據(jù)控制功能數(shù)據(jù)控制功能3.7 3.7 嵌入式嵌入式SQLSQL3.1 SQL3.1 SQL語言概述語言概述n結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQLSQL(Structured Query Structured Query LanguageLanguage)是一種介于關(guān)系代數(shù)是一種介于關(guān)系代數(shù)與與關(guān)系演算

2、之關(guān)系演算之間的語言,其功能包括查詢、操縱、定義和控間的語言,其功能包括查詢、操縱、定義和控制四個方面,是一個通用的的關(guān)系數(shù)據(jù)庫語言制四個方面,是一個通用的的關(guān)系數(shù)據(jù)庫語言nSQLSQL于于19741974年由年由BoyceBoyce和和ChamberlinChamberlin提出,并在提出,并在IBMIBM公司的公司的System RSystem R上實(shí)現(xiàn)上實(shí)現(xiàn)n目前,目前,SQLSQL已成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言已成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言n 19861986年,年,ANSI X3.135-1986ANSI X3.135-1986,ISO/IEC 9075:1986ISO/IEC 9075:1

3、986,SQL-86 SQL-86 n 19891989年,年,ANSI X3.135-1989ANSI X3.135-1989,ISO/IEC 9075:1989ISO/IEC 9075:1989,SQL-89 (SQL1) SQL-89 (SQL1) (About 156 pages)(About 156 pages)n 19921992年,年,ANSI X3.135-1992, ISO/IEC 9075:1992ANSI X3.135-1992, ISO/IEC 9075:1992,SQL-92SQL-92(SQL2SQL2)(600 pages)(600 pages)n 1999199

4、9年,年,ISO/IEC 9075:1999, SQL:1999ISO/IEC 9075:1999, SQL:1999(SQL3SQL3) (2500 pages?)(2500 pages?)n 20032003年,年,ISO/IEC 9075:2003, SQL:2003ISO/IEC 9075:2003, SQL:2003(SQL4SQL4) SQLSQL語言的版本語言的版本SQLSQL的特點(diǎn)的特點(diǎn)1.1.綜合統(tǒng)一綜合統(tǒng)一n 集數(shù)據(jù)定義語言(集數(shù)據(jù)定義語言(DDLDDL),),數(shù)據(jù)操縱語言(數(shù)據(jù)操縱語言(DMLDML),),數(shù)據(jù)控制語言(數(shù)據(jù)控制語言(DCLDCL)功能于一體功能于一體n

5、可以獨(dú)立完成數(shù)據(jù)庫生命周期中的全部活動:可以獨(dú)立完成數(shù)據(jù)庫生命周期中的全部活動: 定義關(guān)系模式,插入數(shù)據(jù),建立數(shù)據(jù)庫;定義關(guān)系模式,插入數(shù)據(jù),建立數(shù)據(jù)庫; 對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢和更新;對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢和更新; 數(shù)據(jù)庫重構(gòu)和維護(hù)數(shù)據(jù)庫重構(gòu)和維護(hù) 數(shù)據(jù)庫安全性、完整性控制等數(shù)據(jù)庫安全性、完整性控制等n 用戶數(shù)據(jù)庫投入運(yùn)行后,可根據(jù)需要隨時逐步修用戶數(shù)據(jù)庫投入運(yùn)行后,可根據(jù)需要隨時逐步修改模式,不影響數(shù)據(jù)的運(yùn)行改模式,不影響數(shù)據(jù)的運(yùn)行n 數(shù)據(jù)操作符統(tǒng)一數(shù)據(jù)操作符統(tǒng)一2.2.高度非過程化高度非過程化n 非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言“面向過面向過程程”,必須指定存

6、取路徑,必須指定存取路徑n SQLSQL只要提出只要提出“做什么做什么”,無須了解存取路,無須了解存取路徑徑n 存取路徑的選擇以及存取路徑的選擇以及SQLSQL的操作過程由系統(tǒng)的操作過程由系統(tǒng)自動完成自動完成SQLSQL的特點(diǎn)的特點(diǎn)SQLSQL的特點(diǎn)的特點(diǎn)3.3.面向集合的操作方式面向集合的操作方式n 非關(guān)系數(shù)據(jù)模型采用面向記錄的操作方式,操非關(guān)系數(shù)據(jù)模型采用面向記錄的操作方式,操作對象是一條記錄作對象是一條記錄n SQLSQL采用集合操作方式采用集合操作方式 操作對象、查找結(jié)果可以是元組的集合操作對象、查找結(jié)果可以是元組的集合 一次插入、刪除、更新操作的對象可以是元組的集一次插入、刪除、更新

7、操作的對象可以是元組的集合合SQLSQL的特點(diǎn)的特點(diǎn)4.4.以同一種語法結(jié)構(gòu)提供多種使用方式以同一種語法結(jié)構(gòu)提供多種使用方式n SQLSQL是獨(dú)立的語言是獨(dú)立的語言 能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式n SQLSQL又是嵌入式語言又是嵌入式語言 SQLSQL能夠嵌入到高級語言(例如能夠嵌入到高級語言(例如C C,C+C+,JavaJava)程序中,供程序員設(shè)計(jì)程序時使用程序中,供程序員設(shè)計(jì)程序時使用5.5.語言簡潔,易學(xué)易用語言簡潔,易學(xué)易用 SQLSQL功能極強(qiáng),完成核心功能只用了功能極強(qiáng),完成核心功能只用了9 9個動詞個動詞SQLSQL的特點(diǎn)的特點(diǎn)類型類型簡介

8、簡介舉例舉例SQL連接語句開始和結(jié)束一個訪問連接CONNECT,DISCONNECTSQL控制語句控制一組SQL語句的執(zhí)行CALL,RETURNSQL數(shù)據(jù)語句直接對數(shù)據(jù)產(chǎn)生持續(xù)性作用SELECT,INSERT,UPDATE,DELETESQL診斷語句提供診斷信息并拋出異?;蝈e誤GET DIAGNOSTICSQL模式語句對數(shù)據(jù)庫模式及其內(nèi)的對象產(chǎn)生持續(xù)性作用CREATE,DROP,ALTERSQL會話語句控制會話中的缺省操作及其它參數(shù)SETSQL事務(wù)語句設(shè)置一個事務(wù)處理的開始和結(jié)束點(diǎn)COMMIT,ROLLBACKSQL99SQL99語句分類語句分類SQLSQL的基本概念的基本概念 基本表基本表本

9、身獨(dú)立存在的表本身獨(dú)立存在的表SQLSQL中一個關(guān)系就對應(yīng)一個基本表中一個關(guān)系就對應(yīng)一個基本表一個一個( (或多個或多個) )基本表對應(yīng)一個存儲文件基本表對應(yīng)一個存儲文件一個表可以帶若干索引一個表可以帶若干索引 存儲文件存儲文件邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫的內(nèi)模式邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫的內(nèi)模式物理結(jié)構(gòu)是任意的,對用戶透明物理結(jié)構(gòu)是任意的,對用戶透明 視圖視圖從一個或幾個基本表導(dǎo)出的表從一個或幾個基本表導(dǎo)出的表數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù)數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù)視圖是一個虛表視圖是一個虛表用戶可以在視圖上再定義視圖用戶可以在視圖上再定義視圖nSQLSQL的數(shù)

10、據(jù)庫系統(tǒng)支持的數(shù)據(jù)庫系統(tǒng)支持X3/SPARCX3/SPARC標(biāo)準(zhǔn)的三級模式體系標(biāo)準(zhǔn)的三級模式體系結(jié)構(gòu)結(jié)構(gòu)SQL1視圖1視圖2SQL2SQL3基本表4基本表3基本表2基本表1存儲文件1存儲文件2存儲文件3內(nèi)模式模 式外模式圖3-2 SQL數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)SQLSQL的基本概念的基本概念SQLSQL的組成的組成 n核心核心SQLSQL主要有四個部分主要有四個部分: :(1) (1) 數(shù)據(jù)定義語言,數(shù)據(jù)定義語言,即即SQL DDLSQL DDL,用于定義用于定義SQLSQL模式、模式、基本表、視圖、索引等結(jié)構(gòu)基本表、視圖、索引等結(jié)構(gòu)(2) (2) 數(shù)據(jù)操縱語言,即數(shù)據(jù)操縱語言,即SQL DMLSQ

11、L DML,數(shù)據(jù)操縱分成數(shù)據(jù),數(shù)據(jù)操縱分成數(shù)據(jù)查詢和數(shù)據(jù)更新兩類。其中數(shù)據(jù)更新又分成插入、刪查詢和數(shù)據(jù)更新兩類。其中數(shù)據(jù)更新又分成插入、刪除和修改三種操作除和修改三種操作(3) (3) 數(shù)據(jù)控制語言,數(shù)據(jù)控制語言,即即SQL DCLSQL DCL,這一部分包括對基這一部分包括對基本表和視圖的授權(quán)、完整性規(guī)則的描述、事務(wù)控制等本表和視圖的授權(quán)、完整性規(guī)則的描述、事務(wù)控制等內(nèi)容。內(nèi)容。 (4) (4) 嵌入式嵌入式SQLSQL語言的使用規(guī)定,這一部分內(nèi)容涉及語言的使用規(guī)定,這一部分內(nèi)容涉及到到SQLSQL語句嵌入在宿主語言程序中的規(guī)則語句嵌入在宿主語言程序中的規(guī)則 3.2 SQL3.2 SQL數(shù)據(jù)

12、定義語言數(shù)據(jù)定義語言SQL的數(shù)據(jù)定義功能的數(shù)據(jù)定義功能: 模式定義、表定義、視圖和索引的定義模式定義、表定義、視圖和索引的定義 CREATE TABLE ( 完整性約束條件完整性約束條件 , 完整性約束條件完整性約束條件 表級完整性約束條件表級完整性約束條件)創(chuàng)建基本表創(chuàng)建基本表SQLSQL數(shù)據(jù)類型數(shù)據(jù)類型n SQLSQL中域的概念用中域的概念用數(shù)據(jù)類型數(shù)據(jù)類型來實(shí)現(xiàn)來實(shí)現(xiàn)n 定義表的屬性時需要指明其數(shù)據(jù)類型及定義表的屬性時需要指明其數(shù)據(jù)類型及長度長度 n 選用哪種數(shù)據(jù)類型選用哪種數(shù)據(jù)類型 n取值范圍取值范圍 n要做哪些運(yùn)算要做哪些運(yùn)算 類型類型數(shù)據(jù)類型舉例數(shù)據(jù)類型舉例說明說明binarybi

13、narybinary large binary large object(BLOBobject(BLOB) )以以1616進(jìn)制格式存儲二進(jìn)制字符串的值。進(jìn)制格式存儲二進(jìn)制字符串的值。bit stringbit stringbitbitbit varyingbit varying可存儲二進(jìn)制和可存儲二進(jìn)制和1616進(jìn)制數(shù)據(jù),進(jìn)制數(shù)據(jù),BITBIT類型具有類型具有可定義的固定長度,而可定義的固定長度,而BIT VARYINGBIT VARYING類型具類型具有可定義的可變長度。有可定義的可變長度。booleanbooleanBooleanBoolean存儲真值存儲真值 TRUETRUE、FALSE

14、FALSE或或UNKNOWNUNKNOWNcharactercharactercharcharcharacter character varying(VARCHARvarying(VARCHAR) )national national character(NCHARcharacter(NCHAR) )national character varying national character varying (NVARCHAR)(NVARCHAR)character large character large object(CLOBobject(CLOB) )national character

15、 large national character large object(NCLOBobject(NCLOB) )可存儲字符集中的任意字符組合??勺冮L可存儲字符集中的任意字符組合??勺冮L度的數(shù)據(jù)類型允許字符長度變化,而其它度的數(shù)據(jù)類型允許字符長度變化,而其它數(shù)據(jù)類型字符長度是固定的??勺冮L度數(shù)數(shù)據(jù)類型字符長度是固定的??勺冮L度數(shù)據(jù)類型會自動刪除后繼的空格,定長數(shù)據(jù)據(jù)類型會自動刪除后繼的空格,定長數(shù)據(jù)類型會自動添加空格以補(bǔ)齊字符定義長度。類型會自動添加空格以補(bǔ)齊字符定義長度。SQLSQL數(shù)據(jù)類型數(shù)據(jù)類型類型類型數(shù)據(jù)類型舉例數(shù)據(jù)類型舉例說明說明numericnumericinteger(INT

16、integer(INT) )smallintsmallintnumericnumericdecimal(DECdecimal(DEC) )floatfloatrealrealdouble precisiondouble precision存儲數(shù)字的準(zhǔn)確值(整數(shù)或小數(shù))或近似值(浮存儲數(shù)字的準(zhǔn)確值(整數(shù)或小數(shù))或近似值(浮點(diǎn)型)。點(diǎn)型)。INTINT和和SMALLINTSMALLINT類型在預(yù)定義的精度和類型在預(yù)定義的精度和范圍內(nèi)存儲數(shù)字的精確值。范圍內(nèi)存儲數(shù)字的精確值。DECDEC和和NUMERICNUMERIC類型在類型在可定義的精度和范圍內(nèi)存儲數(shù)字的精確值??啥x的精度和范圍內(nèi)存儲數(shù)字的精

17、確值。FLOATFLOAT是可定義精度的近似數(shù)類型。是可定義精度的近似數(shù)類型。REALREAL和和DOUBLE PRECISIONDOUBLE PRECISION是具有預(yù)定義精度的近似數(shù)類是具有預(yù)定義精度的近似數(shù)類型。型。temporaltemporaldatedatetimetimetime with time zonetime with time zonetimestamptimestamptimestamp with time timestamp with time zonezoneintervalinterval這些數(shù)據(jù)類型處理關(guān)于時間的值。這些數(shù)據(jù)類型處理關(guān)于時間的值。DATEDAT

18、E和和TIMETIME分分別處理日期和時間。有別處理日期和時間。有WITH TIME ZONEWITH TIME ZONE后綴的類后綴的類型常包括一個時區(qū)的偏移。型常包括一個時區(qū)的偏移。TIMESTAMPTIMESTAMP類型存儲類型存儲按照機(jī)器當(dāng)前運(yùn)行時間計(jì)算出來的值。按照機(jī)器當(dāng)前運(yùn)行時間計(jì)算出來的值。INTERVALINTERVAL類型表示時間的間隔。類型表示時間的間隔。SQLSQL數(shù)據(jù)類型數(shù)據(jù)類型n列的完整性約束條件:列的完整性約束條件: 用用SQLSQL保留字保留字NULLNULL或或NOT NULLNOT NULL指定當(dāng)前列是否可以取空值或不允指定當(dāng)前列是否可以取空值或不允許取空值許

19、取空值 用用UNIQUEUNIQUE指定當(dāng)前列取值不可重復(fù)指定當(dāng)前列取值不可重復(fù) 用用DEFAULT DEFAULT 指定該列的缺省值或特別地用指定該列的缺省值或特別地用DEFAULT NULLDEFAULT NULL指定當(dāng)前列缺省取空值指定當(dāng)前列缺省取空值創(chuàng)建基本表創(chuàng)建基本表n 表級完整性約束的主要語法格式如下:表級完整性約束的主要語法格式如下:PRIMARY KEY ( ) ,FOREIGN KEY () REFERENCES ON DELETE RESTRICT | CASCADE | SET NULL,CHECK 創(chuàng)建基本表創(chuàng)建基本表創(chuàng)建基本表創(chuàng)建基本表例例3-13-1:創(chuàng)建:創(chuàng)建ST

20、UDENT,COURSE,SCSTUDENT,COURSE,SC三個基表三個基表 CREATE TABLE STUDENT (SNO CHAR(7) NOT NULL, SNAME VARCHAR(10) NOT NULL, SEX CHAR(1) NOT NULL, BDATE DATE NOT NULL, HEIGHT DEC(5,2) DEFAULT 00.0, PRIMARY KEY(SNO); /定義主鍵定義主鍵 CREATE TABLE COURSE (CNO CHAR(6) NOT NULL, CNAME VARCHAR(30) NOT NULL, LHOUR SMALLINT

21、NOT NULL, CREDIT DEC(1,0) NOT NULL, SEMESTER CHAR(2) NOT NULL, PRIMARY KEY(CNO); /定義主鍵定義主鍵創(chuàng)建基本表創(chuàng)建基本表例例3-13-1:創(chuàng)建:創(chuàng)建STUDENT,COURSE,SCSTUDENT,COURSE,SC三個基表三個基表 CREATE TABLE SC (SNO CHAR(7) NOT NULL, CNO CHAR(6) NOT NULL, GRADE DEC(4,1) DEFAULT NULL, PRIMARY KEY(SNO,CNO), /定義主鍵定義主鍵 FOREIGN KEY(SNO) /定義外

22、鍵定義外鍵 REFERENCES STUDENT ON DELETE CASCADE, FOREIGN KEY(CNO) /定義外鍵定義外鍵 REFERENCES COURSE ON DELETE RESTRICT, CHECK (GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100);修改基本表修改基本表 一般格式:一般格式: ALTER TABLE ALTER TABLE ADD ADD 完整性約束完整性約束 DROP DROP MODIFY MODIFY ; 其中其中 指定需要修改的基本表,指定需要修改的基本表,ADDADD子句用于增加子句用于增加新列和新

23、的完整性約束條件,新列和新的完整性約束條件,DROPDROP子句用于刪除指定子句用于刪除指定的完整性約束條件,的完整性約束條件,MODIFYMODIFY子句用于修改原有的列定子句用于修改原有的列定義義修改基本表修改基本表 例例3-23-2:向:向STUDENTSTUDENT表增加表增加“入學(xué)時間入學(xué)時間” ” (SCOME)(SCOME)列,列,其數(shù)據(jù)類型為日期型其數(shù)據(jù)類型為日期型 ALTER TABLE STUDENT ADD SCOME DATE; ALTER TABLE STUDENT ADD SCOME DATE; 不論基本表中原來是否已有數(shù)據(jù),新增加的列一律為空值不論基本表中原來是否

24、已有數(shù)據(jù),新增加的列一律為空值 例例3-3: 3-3: 將學(xué)生姓名將學(xué)生姓名SNAMESNAME的長度增加到的長度增加到3030 ALTER TABLE STUDENT ALTER TABLE STUDENT MODIFY SNAME VARCHAR(30); MODIFY SNAME VARCHAR(30); 修改原有的列定義有可能會破壞已有數(shù)據(jù)修改原有的列定義有可能會破壞已有數(shù)據(jù) 例例3-43-4:刪除關(guān)于學(xué)號為主鍵的約束:刪除關(guān)于學(xué)號為主鍵的約束 ALTER TABLE STUDENT DROP PRIMARY KEY;ALTER TABLE STUDENT DROP PRIMARY K

25、EY; 刪除基本表刪除基本表n一般格式:一般格式: DROP TABLE DROP TABLE n例例3-53-5: 刪除刪除STUDENTSTUDENT表表 DROP TABLEDROP TABLE STUDENTSTUDENT;n基本表定義一旦刪除,表中的數(shù)據(jù)、在此表上建立的索基本表定義一旦刪除,表中的數(shù)據(jù)、在此表上建立的索引都將自動被刪除掉,而建立在此表上的視圖雖仍然保引都將自動被刪除掉,而建立在此表上的視圖雖仍然保留,但已無法引用,因此執(zhí)行刪除操作一定要格外小心留,但已無法引用,因此執(zhí)行刪除操作一定要格外小心 索引的概念索引的概念 RDBMSRDBMS中索引一般采用中索引一般采用B+B

26、+樹、樹、HASHHASH索引來實(shí)現(xiàn)索引來實(shí)現(xiàn)B+B+樹索引具有動態(tài)平衡的優(yōu)點(diǎn)樹索引具有動態(tài)平衡的優(yōu)點(diǎn) HASHHASH索引具有查找速度快的特點(diǎn)索引具有查找速度快的特點(diǎn) 采用采用B+B+樹,還是樹,還是HASHHASH索引索引 則由具體的則由具體的RDBMSRDBMS來決定來決定 索引是關(guān)系數(shù)據(jù)庫的內(nèi)部實(shí)現(xiàn)技術(shù),屬于內(nèi)模式的索引是關(guān)系數(shù)據(jù)庫的內(nèi)部實(shí)現(xiàn)技術(shù),屬于內(nèi)模式的范疇范疇 CREATE INDEXCREATE INDEX語句定義索引時,可以定義索引是唯語句定義索引時,可以定義索引是唯一索引、非唯一索引或聚簇索引一索引、非唯一索引或聚簇索引 索引的建立與刪除索引的建立與刪除 建立索引的目的:

27、加快查詢速度建立索引的目的:加快查詢速度 誰可以建立索引誰可以建立索引DBA DBA 或或 表的屬主(即建立表的人)表的屬主(即建立表的人)DBMSDBMS一般會自動建立以下列上的索引一般會自動建立以下列上的索引 PRIMARY KEYPRIMARY KEY UNIQUE UNIQUE 誰維護(hù)索引誰維護(hù)索引 DBMSDBMS自動完成自動完成 使用索引使用索引 DBMSDBMS自動選擇是否使用索引以及使用哪些索引自動選擇是否使用索引以及使用哪些索引(1 1)創(chuàng)建索引)創(chuàng)建索引CREATE UNIQUE CLUSTER INDEX ON ( ASC | DESC , ASC|DESC)例例3-6:

28、 CREATE INDEX SnoIndex ON SC (S# DESC)索引的索引的創(chuàng)建創(chuàng)建和刪除和刪除(2 2)刪除索引)刪除索引 DROP INDEX 例例3-7: DROP INDEX CnameIndex索引的索引的創(chuàng)建創(chuàng)建和刪除和刪除n 創(chuàng)建模式實(shí)際上定義了一個命名空間創(chuàng)建模式實(shí)際上定義了一個命名空間n 在這個空間中可以定義該模式包含的數(shù)據(jù)庫對象,在這個空間中可以定義該模式包含的數(shù)據(jù)庫對象,例如基本表、視圖、索引等例如基本表、視圖、索引等n SQLSQL模式由模式名標(biāo)識,一般包括授權(quán)模式由模式名標(biāo)識,一般包括授權(quán)IDID(通常會(通常會是系統(tǒng)中的一個用戶名)和模式所含對象(如基本

29、是系統(tǒng)中的一個用戶名)和模式所含對象(如基本表、視圖、域、約束和斷言、觸發(fā)器等)兩方面內(nèi)表、視圖、域、約束和斷言、觸發(fā)器等)兩方面內(nèi)容的描述容的描述模式的模式的創(chuàng)建創(chuàng)建和刪除和刪除(1 1)創(chuàng)建模式)創(chuàng)建模式CREATE SCHEMA AUTHORIZATION 創(chuàng)建基本表語句 創(chuàng)建視圖語句 創(chuàng)建授權(quán)語句 模式的模式的創(chuàng)建創(chuàng)建和刪除和刪除n例例3-8:CREATE SCHEMA Dept AUTHORIZATION ZhangCREATE TABLE Department ( id CHAR(6), name VARCHAR(10) )模式的模式的創(chuàng)建創(chuàng)建和刪除和刪除(2 2)刪除模式)刪除模

30、式DROP SCHEMA RESTRICT | CASCADEn 例例3-9: DROP SCHEMA dept CASCADE模式的模式的創(chuàng)建創(chuàng)建和刪除和刪除模式與表模式與表 每一個基本表都屬于某一個模式每一個基本表都屬于某一個模式 一個模式包含多個基本表一個模式包含多個基本表 定義基本表所屬模式定義基本表所屬模式n 方法一:在表名中明顯地給出模式名方法一:在表名中明顯地給出模式名 Create table “S-T”.StudentCreate table “S-T”.Student(.); /; /* *模式名為模式名為 S-S-T T* */ /Create table “S-Crea

31、te table “S-T”.CourceT”.Cource(.); ;Create table “S-T”.SCCreate table “S-T”.SC(.); ; n 方法二:在創(chuàng)建模式語句中同時創(chuàng)建表方法二:在創(chuàng)建模式語句中同時創(chuàng)建表 n 方法三:設(shè)置所屬的模式方法三:設(shè)置所屬的模式 模式與表模式與表 創(chuàng)建基本表(其他數(shù)據(jù)庫對象也一樣)時,若沒有指創(chuàng)建基本表(其他數(shù)據(jù)庫對象也一樣)時,若沒有指定模式,系統(tǒng)根據(jù)定模式,系統(tǒng)根據(jù)搜索路徑搜索路徑來確定該對象所屬的模式來確定該對象所屬的模式 RDBMSRDBMS會使用模式列表中會使用模式列表中第一個存在的模式第一個存在的模式作為數(shù)據(jù)作為數(shù)據(jù)庫

32、對象的模式名庫對象的模式名 若搜索路徑中的模式名都不存在,系統(tǒng)將給出錯誤若搜索路徑中的模式名都不存在,系統(tǒng)將給出錯誤 3.3 SQL3.3 SQL數(shù)據(jù)查詢語言數(shù)據(jù)查詢語言n 基本查詢語句基本查詢語句n 單表查詢單表查詢n 連接查詢連接查詢n 嵌套查詢嵌套查詢n 集合查詢集合查詢基本查詢語句基本查詢語句 一般格式:一般格式: SELECT ALL|DISTINCTSELECT ALL|DISTINCT,. . FROM FROM , . . WHERE WHERE GROUP BY GROUP BY HAVING HAVING ORDER BY ORDER BY ASC|DESC;2 ASC|D

33、ESC; 基本查詢語句基本查詢語句整個整個SELECTSELECT語句的含義是,根據(jù)語句的含義是,根據(jù)WHEREWHERE子句的條子句的條件表達(dá)式,從件表達(dá)式,從FROMFROM子句指定的基本表或視圖中子句指定的基本表或視圖中找出滿足條件的元組,再按找出滿足條件的元組,再按SELECTSELECT子句中的目子句中的目標(biāo)列表達(dá)式,選出元組中的屬性值形成結(jié)果表標(biāo)列表達(dá)式,選出元組中的屬性值形成結(jié)果表如果有如果有GROUPGROUP子句,則將結(jié)果按子句,則將結(jié)果按 1的值進(jìn)的值進(jìn)行分組,該屬性列值相等的元組為一個組,每行分組,該屬性列值相等的元組為一個組,每個組產(chǎn)生結(jié)果表中的一條記錄個組產(chǎn)生結(jié)果表中

34、的一條記錄, ,通常會在每組中通常會在每組中作用集函數(shù)作用集函數(shù)如果如果GROUPGROUP子句子句帶帶HAVINGHAVING短語,則只有滿足指定短語,則只有滿足指定條件的組才予輸出條件的組才予輸出如果有如果有ORDERORDER子句,則結(jié)果表還要按子句,則結(jié)果表還要按 2的的值的升序或降序進(jìn)行排序值的升序或降序進(jìn)行排序單表查詢單表查詢 查詢僅涉及一個表:查詢僅涉及一個表:n選擇表中的若干列選擇表中的若干列n選擇表中的若干元組選擇表中的若干元組nORDER BYORDER BY子句子句n聚集函數(shù)聚集函數(shù)nGROUP BYGROUP BY子句子句選擇表中若干列選擇表中若干列 查詢指定列查詢指定

35、列 例例3-93-9:查詢?nèi)w學(xué)生的學(xué)號與姓名查詢?nèi)w學(xué)生的學(xué)號與姓名SELECT SELECT SnoSno,SnameSnameFROM StudentFROM Student; 例例3-103-10:查詢?nèi)w學(xué)生的姓名、學(xué)號、所在系。查詢?nèi)w學(xué)生的姓名、學(xué)號、所在系。SELECT SELECT SnameSname,SnoSno,SdeptSdeptFROM StudentFROM Student;查詢?nèi)苛胁樵內(nèi)苛衝 選出所有屬性列:選出所有屬性列:在在SELECTSELECT關(guān)鍵字后面列出所有列名關(guān)鍵字后面列出所有列名 將將 指定為指定為 * *n 例例3-103-10:查詢?nèi)w學(xué)

36、生的詳細(xì)記錄。查詢?nèi)w學(xué)生的詳細(xì)記錄。SELECT SELECT SnoSno,SnameSname,SsexSsex,SageSage,SdeptSdept FROM StudentFROM Student; 或或SELECT SELECT * *FROM StudentFROM Student; 查詢經(jīng)過計(jì)算的值查詢經(jīng)過計(jì)算的值 SELECTSELECT子句的子句的 可以為:可以為:算術(shù)表達(dá)式算術(shù)表達(dá)式字符串常量字符串常量函數(shù)函數(shù)列別名列別名 例例3-113-11:查全體學(xué)生的姓名及其出生年份查全體學(xué)生的姓名及其出生年份 SELECT SELECT SnameSname,2007-Sage

37、 /2007-Sage /* *假定當(dāng)年的年份為假定當(dāng)年的年份為20042004年年* */ / FROM Student FROM Student; 例例3-123-12:查詢?nèi)w學(xué)生的姓名、出生年份和所有系,:查詢?nèi)w學(xué)生的姓名、出生年份和所有系,要求用小寫字母表示所有系名要求用小寫字母表示所有系名 SELECT SELECT SnameSname,Year of Birth: Year of Birth: ,2004-Sage2004-Sage, ISLOWER(SdeptISLOWER(Sdept) ) FROM Student FROM Student;查詢經(jīng)過計(jì)算的值查詢經(jīng)過計(jì)算的

38、值查詢經(jīng)過計(jì)算的值查詢經(jīng)過計(jì)算的值 使用列使用列別名別名改變查詢結(jié)果的列標(biāo)題改變查詢結(jié)果的列標(biāo)題: : 例例3-133-13: SELECT SELECT SnameSname NAMENAME,Year of Birth: Year of Birth: BIRTH BIRTH, 2000-Sage 2000-Sage BIRTHDAY BIRTHDAY,LOWER(SdeptLOWER(Sdept) ) DEPARTMENTDEPARTMENTFROMFROM StudentStudent;選擇表中的若干元組選擇表中的若干元組消除取值重復(fù)的行消除取值重復(fù)的行例例3-143-14:查詢選修了課

39、程的學(xué)生學(xué)號查詢選修了課程的學(xué)生學(xué)號( (不取消重復(fù)行不取消重復(fù)行) ) SELECT SELECT SnoSno FROM SC FROM SC;等價于:等價于:SELECT ALL SELECT ALL SnoSno FROM SC FROM SC;如果指定如果指定DISTINCTDISTINCT關(guān)鍵詞,則去掉表中重復(fù)的行關(guān)鍵詞,則去掉表中重復(fù)的行例例3-153-15:查詢選修了課程的學(xué)生學(xué)號查詢選修了課程的學(xué)生學(xué)號( (取消重復(fù)行取消重復(fù)行) ) SELECT SELECT DISTINCTDISTINCT SnoSno FROM SC FROM SC; 注意注意: :如果沒有指定如果沒

40、有指定DISTINCTDISTINCT關(guān)鍵詞,則缺省為關(guān)鍵詞,則缺省為ALLALL查詢滿足條件的元組查詢滿足條件的元組查查 詢詢 條條 件件謂謂 詞詞比比 較較=,=,=,!=,!,!;NOT+上述比較上述比較運(yùn)算符運(yùn)算符確定范圍確定范圍BETWEEN AND,NOT BETWEEN AND確定集合確定集合IN,NOT IN字符匹配字符匹配LIKE,NOT LIKE空空 值值IS NULL,IS NOT NULL多重條件(邏輯運(yùn)算)多重條件(邏輯運(yùn)算)AND,OR,NOT表表3.4 常用的查詢條件常用的查詢條件比較大小比較大小例例3-163-16:查詢軟件學(xué)院查詢軟件學(xué)院(SE)(SE)全體學(xué)

41、生的名單全體學(xué)生的名單 SELECT SELECT SnameSname FROM Student FROM Student WHERE WHERE SdeptSdept=SE=SE; 例例3-173-17:查詢所有年齡在查詢所有年齡在2020歲以下的學(xué)生姓名及其年齡歲以下的學(xué)生姓名及其年齡 SELECT SELECT SnameSname,Sage Sage FROM Student FROM Student WHERE Sage 20WHERE Sage 20;例例3-183-18:查詢考試成績有不及格的學(xué)生的學(xué)號查詢考試成績有不及格的學(xué)生的學(xué)號SELECT SELECT DISTINCT

42、DISTINCT SnoSnoFROM SCFROM SCWHERE Grade60WHERE Grade60; 確定范圍確定范圍 謂詞謂詞: : BETWEEN BETWEEN AND AND NOT BETWEEN NOT BETWEEN AND AND 例例3-193-19:查詢年齡在查詢年齡在20232023歲(包括歲(包括2020歲和歲和2323歲)之間的學(xué)生的姓名、系別歲)之間的學(xué)生的姓名、系別和年齡和年齡 SELECT SELECT SnameSname,SdeptSdept,SageSageFROM StudentFROM StudentWHERE Sage BETWEEN 2

43、0 AND 23WHERE Sage BETWEEN 20 AND 23; 例例3-203-20:查詢年齡不在查詢年齡不在20232023歲之間的學(xué)生姓名、系別和年齡歲之間的學(xué)生姓名、系別和年齡 SELECT SELECT SnameSname,SdeptSdept,SageSage FROM Student FROM Student WHERE Sage NOT BETWEEN 20 AND 23 WHERE Sage NOT BETWEEN 20 AND 23; 確定集合確定集合謂詞:謂詞:IN IN , NOT IN , NOT IN 例例3-213-21:查詢信息系(查詢信息系(ISI

44、S)、)、數(shù)學(xué)系(數(shù)學(xué)系(MAMA)和計(jì)算機(jī)科學(xué)系(和計(jì)算機(jī)科學(xué)系(CSCS)學(xué)生的姓名和性學(xué)生的姓名和性別別SELECT SELECT SnameSname,SsexSsexFROM StudentFROM StudentWHERE WHERE SdeptSdept IN ( IS IN ( IS,MAMA,CS );CS );例例3-223-22:查詢既不是信息系、數(shù)學(xué)系,也不是計(jì)算機(jī)科學(xué)系的學(xué)生的姓名和性別查詢既不是信息系、數(shù)學(xué)系,也不是計(jì)算機(jī)科學(xué)系的學(xué)生的姓名和性別SELECT SELECT SnameSname,SsexSsexFROM StudentFROM Student WHE

45、RE WHERE SdeptSdept NOT IN ( IS NOT IN ( IS,MAMA,CS );CS );字符匹配字符匹配謂詞:謂詞:NOT LIKE NOT LIKE ESCAPE ESCAPE 1)1) 匹配串為固定字符串匹配串為固定字符串例例3-223-22:查詢學(xué)號為查詢學(xué)號為200215121200215121的學(xué)生的詳細(xì)情況的學(xué)生的詳細(xì)情況 SELECT SELECT * * FROM Student FROM Student WHERE WHERE SnoSno LIKELIKE 200215121 200215121;等價于:等價于: SELECT SELECT *

46、 * FROM Student FROM Student WHERE WHERE SnoSno = 200215121 = 200215121 ;字符匹配字符匹配 2) 2) 匹配串為含通配符的字符串匹配串為含通配符的字符串 例例3-233-23:查詢所有姓劉學(xué)生的姓名、學(xué)號和性別查詢所有姓劉學(xué)生的姓名、學(xué)號和性別 SELECT SELECT SnameSname,SnoSno,SsexSsex FROM Student FROM Student WHERE WHERE SnameSname LIKE LIKE 劉劉%; 例例3-243-24:查詢姓查詢姓 歐陽歐陽 且全名為三個漢字的學(xué)生的姓

47、名且全名為三個漢字的學(xué)生的姓名 SELECT SELECT SnameSname FROM Student FROM Student WHERE WHERE SnameSname LIKE LIKE 歐陽歐陽_;字符匹配字符匹配 例例3-253-25:查詢名字中第查詢名字中第2 2個字為個字為 陽陽 字的學(xué)生字的學(xué)生的姓名和學(xué)號的姓名和學(xué)號 SELECT SELECT SnameSname,SnoSno FROM Student FROM Student WHERE WHERE SnameSname LIKE _LIKE _陽陽% %; 例例3-263-26:查詢所有不姓劉的學(xué)生姓名查詢所有不

48、姓劉的學(xué)生姓名 SELECT SELECT SnameSname,SnoSno,SsexSsex FROM Student FROM Student WHERE WHERE SnameSname NOT LIKENOT LIKE 劉劉%;字符匹配字符匹配3) 3) 使用換碼字符將通配符轉(zhuǎn)義為普通字符使用換碼字符將通配符轉(zhuǎn)義為普通字符 例例3-273-27:查詢查詢DB_DesignDB_Design課程的課程號和學(xué)分課程的課程號和學(xué)分 SELECT SELECT CnoCno,CcreditCcredit FROM Course FROM Course WHERE WHERE CnameCna

49、me LIKE DB LIKE DB _Design _Design ESCAPE ESCAPE ;例例3-283-28:查詢以查詢以DB_DB_開頭,且倒數(shù)第開頭,且倒數(shù)第3 3個字符為個字符為 i i的課程的的課程的詳細(xì)情況。詳細(xì)情況。 SELECT SELECT * * FROM Course FROM Course WHERE WHERE CnameCname LIKE DB LIKE DB _%i_ _ _%i_ _ ESCAPE ESCAPE ; ESCAPE ESCAPE 表示表示“ “ ” ” 為換碼字符為換碼字符 涉及空值的查詢涉及空值的查詢n 謂詞:謂詞: IS NULL

50、或 IS NOT NULL例例3-293-29:某些學(xué)生選修課程后沒有參加考試,所以有選課記錄,某些學(xué)生選修課程后沒有參加考試,所以有選課記錄,但沒但沒 有考試成績。查詢?nèi)鄙俪煽兊膶W(xué)生的學(xué)號和相應(yīng)的課程號有考試成績。查詢?nèi)鄙俪煽兊膶W(xué)生的學(xué)號和相應(yīng)的課程號 SELECT SELECT SnoSno,CnoCno FROM SC FROM SC WHERE Grade IS NULL WHERE Grade IS NULL例例3-303-30:查所有有成績的學(xué)生學(xué)號和課程號查所有有成績的學(xué)生學(xué)號和課程號 SELECT SELECT SnoSno,CnoCno FROM SC FROM SC WHE

51、RE Grade IS NOT NULL WHERE Grade IS NOT NULL; 注意注意: :不能用不能用 “ “=” =” 代替代替 “IS” “IS” 多重條件查詢多重條件查詢 邏輯運(yùn)算符:邏輯運(yùn)算符:ANDAND和和 OROR來聯(lián)結(jié)多個查詢條件來聯(lián)結(jié)多個查詢條件 ANDAND的優(yōu)先級高于的優(yōu)先級高于OROR 可以用括號改變優(yōu)先級可以用括號改變優(yōu)先級 可用來實(shí)現(xiàn)多種其他謂詞可用來實(shí)現(xiàn)多種其他謂詞NOT INNOT INNOT BETWEEN NOT BETWEEN AND AND 多重條件查詢多重條件查詢例例3-313-31:查詢計(jì)算機(jī)系年齡在查詢計(jì)算機(jī)系年齡在2020歲以下的

52、學(xué)生姓名歲以下的學(xué)生姓名 SELECT SELECT SnameSname FROM Student FROM Student WHERE WHERE SdeptSdept= CS AND Sage20= CS AND Sage20;ORDER BYORDER BY子句子句 ORDER BYORDER BY子句子句n可以按一個或多個屬性列排序可以按一個或多個屬性列排序n升序:升序:ASCASC;降序:降序:DESCDESC;缺省值為升序缺省值為升序 當(dāng)排序列含空值時當(dāng)排序列含空值時nASCASC:排序列為空值的元組最后顯示排序列為空值的元組最后顯示nDESCDESC:排序列為空值的元組最先顯示

53、排序列為空值的元組最先顯示 ORDER BYORDER BY子句子句 例例3-323-32:查詢選修了查詢選修了3 3號課程的學(xué)生的學(xué)號及其成績,號課程的學(xué)生的學(xué)號及其成績,查詢結(jié)果按分?jǐn)?shù)降序排列查詢結(jié)果按分?jǐn)?shù)降序排列 SELECT SELECT SnoSno,GradeGrade FROM SC FROM SC WHERE WHERE CnoCno= 3 = 3 ORDER BY Grade DESC ORDER BY Grade DESC; 例例3-333-33:查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系號升序排列,同一系中的學(xué)生按年齡降序排列號升序排列,

54、同一系中的學(xué)生按年齡降序排列 SELECT SELECT * * FROM Student FROM Student ORDER BY ORDER BY SdeptSdept,Sage DESCSage DESC; nSQLSQL函數(shù)可以分為標(biāo)量函數(shù)和聚集函數(shù)兩類函數(shù)可以分為標(biāo)量函數(shù)和聚集函數(shù)兩類n標(biāo)量函數(shù)的運(yùn)算對象是一個記錄行在某個屬標(biāo)量函數(shù)的運(yùn)算對象是一個記錄行在某個屬性上的具體取值,大致可以分為字符、數(shù)學(xué)、性上的具體取值,大致可以分為字符、數(shù)學(xué)、時間、類型轉(zhuǎn)換等幾種形式。例如,函數(shù)時間、類型轉(zhuǎn)換等幾種形式。例如,函數(shù)LENGTH()LENGTH()可以計(jì)算一個字符串類型數(shù)值的長可以計(jì)算一

55、個字符串類型數(shù)值的長度,度,ABS()ABS()可以計(jì)算一個數(shù)值類型的絕對值可以計(jì)算一個數(shù)值類型的絕對值SQLSQL函數(shù)函數(shù)n聚集函數(shù)是聚集函數(shù)是SQLSQL中具有統(tǒng)計(jì)性質(zhì)的一類函數(shù),其運(yùn)算中具有統(tǒng)計(jì)性質(zhì)的一類函數(shù),其運(yùn)算對象通常是記錄的集合或一組記錄在某個列上的全部對象通常是記錄的集合或一組記錄在某個列上的全部取值,聚集函數(shù)的返回結(jié)果一般將會是惟一的一個確取值,聚集函數(shù)的返回結(jié)果一般將會是惟一的一個確定值定值聚集函數(shù)聚集函數(shù)聚集函數(shù)聚集函數(shù) 計(jì)數(shù)計(jì)數(shù)COUNTCOUNT(DISTINCT|DISTINCT|ALLALL * *)COUNTCOUNT(DISTINCT|DISTINCT|ALL

56、ALL ) 計(jì)算總和計(jì)算總和SUMSUM(DISTINCT|DISTINCT|ALLALL ) 計(jì)算平均值計(jì)算平均值A(chǔ)VGAVG(DISTINCT|DISTINCT|ALLALL ) 最大最小值最大最小值 MAXMAX(DISTINCT|DISTINCT|ALLALL ) MINMIN(DISTINCT|DISTINCT|ALLALL )聚集函數(shù)聚集函數(shù) 例例3-343-34:查詢學(xué)生總?cè)藬?shù)查詢學(xué)生總?cè)藬?shù) SELECT COUNT(SELECT COUNT(* *) ) FROM Student FROM Student; 例例3-353-35:查詢選修了課程的學(xué)生人數(shù)查詢選修了課程的學(xué)生人數(shù)

57、 SELECT COUNT(DISTINCT SELECT COUNT(DISTINCT SnoSno) ) FROM SC FROM SC; 例例3-363-36:計(jì)算計(jì)算1 1號課程的學(xué)生平均成績號課程的學(xué)生平均成績 SELECT AVG(Grade)SELECT AVG(Grade) FROM SC FROM SC WHERE WHERE CnoCno= 1 = 1 ;聚集函數(shù)聚集函數(shù) 例例3-373-37:查詢選修查詢選修1 1號課程的學(xué)生最高分?jǐn)?shù)號課程的學(xué)生最高分?jǐn)?shù) SELECT MAX(Grade)SELECT MAX(Grade) FROM SC FROM SC WHER WHE

58、R CnoCno= 1 = 1 ; 例例3-383-38:查詢學(xué)生查詢學(xué)生200215012200215012選修課程的總學(xué)分?jǐn)?shù)選修課程的總學(xué)分?jǐn)?shù) SELECT SELECT SUM(CcreditSUM(Ccredit) ) FROM SC FROM SC, CourseCourse WHER WHER SnoSno=200215012 =200215012 AND AND SC.CnoSC.Cno= =Course.CnoCourse.Cno; ; GROUP BYGROUP BY子句子句 GROUP BYGROUP BY子句分組:子句分組:細(xì)化聚集函數(shù)的作用對象細(xì)化聚集函數(shù)的作用對象未對

59、查詢結(jié)果分組,聚集函數(shù)將作用于整個查詢結(jié)果未對查詢結(jié)果分組,聚集函數(shù)將作用于整個查詢結(jié)果對查詢結(jié)果分組后,對查詢結(jié)果分組后,聚聚集函數(shù)將分別作用于每個組集函數(shù)將分別作用于每個組 作用對象是查詢的中間結(jié)果表作用對象是查詢的中間結(jié)果表按指定的一列或多列值分組,值相等的為一組按指定的一列或多列值分組,值相等的為一組GROUP BYGROUP BY子句子句 例例3-393-39:求各個課程號及相應(yīng)的選課人數(shù)求各個課程號及相應(yīng)的選課人數(shù) SELECT SELECT CnoCno,COUNT(SnoCOUNT(Sno) ) FROM SC FROM SC GROUP BY GROUP BY CnoCno;

60、 HAVINGHAVING短語短語 HAVINGHAVING短語與短語與WHEREWHERE子句的區(qū)別:子句的區(qū)別:作用對象不同作用對象不同WHEREWHERE子句作用于基表或視圖,從中選子句作用于基表或視圖,從中選擇滿足條件的元組擇滿足條件的元組HAVINGHAVING短語作用于組,從中選擇滿足短語作用于組,從中選擇滿足條件的組條件的組 HAVINGHAVING短語短語 例例3-403-40:查詢選修了查詢選修了3 3門以上課程的學(xué)生學(xué)號門以上課程的學(xué)生學(xué)號 SELECT SELECT SnoSno FROM SC FROM SC GROUP BY GROUP BY SnoSno HAVIN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論