數(shù)據(jù)庫(kù)PPT第5章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理_第1頁(yè)
數(shù)據(jù)庫(kù)PPT第5章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理_第2頁(yè)
數(shù)據(jù)庫(kù)PPT第5章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理_第3頁(yè)
數(shù)據(jù)庫(kù)PPT第5章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理_第4頁(yè)
數(shù)據(jù)庫(kù)PPT第5章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理_第5頁(yè)
已閱讀5頁(yè),還剩132頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)的創(chuàng)建與管理第5章教學(xué)目標(biāo)理解MySQL數(shù)據(jù)表的基本概念01掌握數(shù)據(jù)庫(kù)的創(chuàng)建與管理02掌握表的創(chuàng)建、維護(hù)與修改方法03掌握如何在表中添加、修改和刪除數(shù)據(jù)記錄04掌握表的復(fù)制與刪除方法05§5.1數(shù)據(jù)庫(kù)的創(chuàng)建5.1.1創(chuàng)建數(shù)據(jù)庫(kù)CREATEDATABASE[IFNOTEXISTS]數(shù)據(jù)庫(kù)名稱(chēng)

[CHARACTERSET字符集

][COLLATE校驗(yàn)規(guī)則];注意:分號(hào)是每條語(yǔ)句的結(jié)束標(biāo)記IFNOTEXISTS:在創(chuàng)建online_sales_system數(shù)據(jù)庫(kù)之前,首先判斷數(shù)據(jù)庫(kù)是否存在,若存在則不再創(chuàng)建,也不會(huì)報(bào)錯(cuò),如果不存在則會(huì)創(chuàng)建該數(shù)據(jù)庫(kù);如果不做判斷直接創(chuàng)建,若數(shù)據(jù)庫(kù)已經(jīng)存在,就會(huì)有錯(cuò)誤信息提示。CHARSET字符集5.1.1創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)名:數(shù)據(jù)庫(kù)名必須符合操作系統(tǒng)文件夾的命名規(guī)則。MySQL在Windows系統(tǒng)下默認(rèn)不區(qū)分大小寫(xiě),在Linux系統(tǒng)下默認(rèn)區(qū)分大小寫(xiě)。CHARSET(8.0及以后等價(jià)于CHARACTERSET)用來(lái)設(shè)置數(shù)據(jù)庫(kù)采用的字符集,字符集是一套字符內(nèi)容與編碼方式的集合。省略表示采用默認(rèn)值utf8mb4。COLLATE用來(lái)設(shè)置數(shù)據(jù)庫(kù)校對(duì)規(guī)則,校對(duì)規(guī)則指對(duì)特定字符集比較時(shí)的排序規(guī)則。省略表示采用默認(rèn)值utf8mb4_0900_ai_ci?!?.1數(shù)據(jù)庫(kù)的創(chuàng)建5.1.1創(chuàng)建數(shù)據(jù)庫(kù)【例5.1】用CREATEDATABASE命令創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)online_sales_system,存儲(chǔ)引擎、字符集和校驗(yàn)規(guī)則采用默認(rèn)值。CREATEDATABASEonline_sales_systemCHARSETutf8mb4COLLATEutf8mb4_0900_ai_ci;QueryOK,1rowaffected(0.00sec)的含義:語(yǔ)句成功運(yùn)行,使用時(shí)間為0.00秒。說(shuō)明SQL語(yǔ)句運(yùn)行速度很快,不到0.01秒。§5.1數(shù)據(jù)庫(kù)的創(chuàng)建5.1.2管理數(shù)據(jù)庫(kù)----1.顯示數(shù)據(jù)庫(kù)語(yǔ)法格式:【例5.2】用SHOWDATABASES命令顯示所有數(shù)據(jù)庫(kù);(大小寫(xiě)均可)SHOWDATABASES;SHOWDATABASES;§5.1數(shù)據(jù)庫(kù)的創(chuàng)建5.1.2管理數(shù)據(jù)庫(kù)----1.顯示數(shù)據(jù)庫(kù)1)information_schema數(shù)據(jù)庫(kù):存儲(chǔ)了數(shù)據(jù)庫(kù)的元數(shù)據(jù)(databasemetadata),元數(shù)據(jù)是關(guān)于MySQL服務(wù)器的信息,例如數(shù)據(jù)庫(kù)或表的名稱(chēng)、列的數(shù)據(jù)類(lèi)型或訪(fǎng)問(wèn)權(quán)限等,有時(shí)也稱(chēng)為數(shù)據(jù)字典(datadictionary)或系統(tǒng)目錄(systemcatalog)。2)mysql數(shù)據(jù)庫(kù):提供了MySQL服務(wù)器運(yùn)行時(shí)所需信息的表,包括用于存儲(chǔ)數(shù)據(jù)庫(kù)對(duì)象元數(shù)據(jù)(databaseobjectmetadata)的數(shù)據(jù)字典表,以及諸如日志系統(tǒng)表、時(shí)區(qū)系統(tǒng)表等一系列系統(tǒng)表。3)performance_schema數(shù)據(jù)庫(kù):用于監(jiān)控服務(wù)器的執(zhí)行性能,并提供執(zhí)行時(shí)的信息的訪(fǎng)問(wèn)。sys數(shù)據(jù)庫(kù):此數(shù)據(jù)庫(kù)主要是利用performance_schema數(shù)據(jù)庫(kù)提供的信息,生成一系列的視圖、存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù),幫助數(shù)據(jù)庫(kù)管理人員和開(kāi)發(fā)者了解系統(tǒng)的性能。§5.1數(shù)據(jù)庫(kù)的創(chuàng)建【例5.3】用USE命令選擇數(shù)據(jù)庫(kù),選擇當(dāng)前數(shù)據(jù)庫(kù)。USEonline_sales_system;5.1.2管理數(shù)據(jù)庫(kù)----2.打開(kāi)數(shù)據(jù)庫(kù)語(yǔ)法格式:USE數(shù)據(jù)庫(kù)名稱(chēng);數(shù)據(jù)庫(kù)切換成功§5.1數(shù)據(jù)庫(kù)的創(chuàng)建【例5.4】查看網(wǎng)絡(luò)購(gòu)物數(shù)據(jù)庫(kù)online_sales_system中包含的數(shù)據(jù)表等對(duì)象。SHOW

TABLES;5.1.2管理數(shù)據(jù)庫(kù)----3.查看數(shù)據(jù)庫(kù)信息查看數(shù)據(jù)庫(kù)對(duì)象語(yǔ)法格式:SHOWTABLES;數(shù)據(jù)庫(kù)名稱(chēng)數(shù)據(jù)庫(kù)onlin_sales_system1中包含的對(duì)象§5.1數(shù)據(jù)庫(kù)的創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象包括:數(shù)據(jù)表、索引、視圖、存儲(chǔ)過(guò)程等【例5.5】查看網(wǎng)絡(luò)購(gòu)物數(shù)據(jù)庫(kù)online_sales_system采用的字符集。5.1.2管理數(shù)據(jù)庫(kù)----3.查看數(shù)據(jù)庫(kù)信息查看字符集的語(yǔ)法格式:SHOWVARIABLESLIKE'character_set_database';§5.1數(shù)據(jù)庫(kù)的創(chuàng)建【例5.6】查看網(wǎng)絡(luò)購(gòu)物數(shù)據(jù)庫(kù)online_sales_system采用的校驗(yàn)規(guī)則。5.1.2管理數(shù)據(jù)庫(kù)----3.查看數(shù)據(jù)庫(kù)信息查看校驗(yàn)規(guī)則的語(yǔ)法格式:SHOWVARIABLESLIKE'collation_database';§5.1數(shù)據(jù)庫(kù)的創(chuàng)建【例5.7】查看網(wǎng)絡(luò)購(gòu)物數(shù)據(jù)庫(kù)online_sales_system的詳細(xì)信息。5.1.2管理數(shù)據(jù)庫(kù)----3.查看數(shù)據(jù)庫(kù)信息查看數(shù)據(jù)庫(kù)定義的詳細(xì)信息的語(yǔ)法格式:SHOWCREATE

DATABASE數(shù)據(jù)庫(kù)名稱(chēng);SHOWCREATE

DATABASE

online_sales_system;§5.1數(shù)據(jù)庫(kù)的創(chuàng)建字符集校驗(yàn)規(guī)則是否加密DROPDATABASEIFEXISTSonline_sales_system;5.1.2管理數(shù)據(jù)庫(kù)----4.刪除數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)的語(yǔ)法格式:DROPDATABASE[IFEXISTS]數(shù)據(jù)庫(kù)名稱(chēng);【例5.8】用DROPDATABASE命令刪除online_sales_system數(shù)據(jù)庫(kù)。IF

EXISTS:在刪除online_sales_system數(shù)據(jù)庫(kù)之前,首先判斷數(shù)據(jù)庫(kù)是否存在,若存在則刪除,否則不執(zhí)行刪除運(yùn)算;如果不做判斷直接刪除,若數(shù)據(jù)庫(kù)不存在,就會(huì)出現(xiàn)錯(cuò)誤的提示。§5.1數(shù)據(jù)庫(kù)的創(chuàng)建5.1.2管理數(shù)據(jù)庫(kù)----4.刪除數(shù)據(jù)庫(kù)【例5.9】使用DROPDATABASE語(yǔ)句刪除數(shù)據(jù)庫(kù)時(shí),使用IFEXISTS可選項(xiàng)和不使用IFEXISTS可選項(xiàng)兩種情況再刪除一次數(shù)據(jù)庫(kù)online_sales_system?!?.1數(shù)據(jù)庫(kù)的創(chuàng)建MySQL對(duì)象包括數(shù)據(jù)庫(kù)、表、視圖、索引、存儲(chǔ)過(guò)程或存儲(chǔ)函數(shù)等。這些對(duì)象名稱(chēng)統(tǒng)稱(chēng)為標(biāo)識(shí)符,標(biāo)識(shí)符必須符合一定規(guī)則或約定,各個(gè)DBMS的約定不完全相同。在MySQL中,數(shù)據(jù)表是數(shù)據(jù)庫(kù)中最重要、最基本的操作對(duì)象,是存儲(chǔ)數(shù)據(jù)的基本單位。如果把數(shù)據(jù)庫(kù)比喻成柜子,那么表就像柜子中各種規(guī)格的抽屜。一個(gè)表就是一個(gè)關(guān)系,表實(shí)質(zhì)上就是行列的集合,每一行代表一條記錄,每一列代表記錄的一個(gè)字段。每個(gè)表由若干行組成,表的第一行為各列標(biāo)題,其余行都是數(shù)據(jù)?!?.2認(rèn)識(shí)數(shù)據(jù)表1)標(biāo)識(shí)符可以由當(dāng)前字符集中的任何字母、漢字、數(shù)字字符組成,另外,還可以包括下劃線(xiàn)(_)和美元符號(hào)($)。但一般不建議使用漢字作為標(biāo)識(shí)符。

2)標(biāo)識(shí)符最長(zhǎng)為64個(gè)字符。但標(biāo)識(shí)符的長(zhǎng)度受限于所用操作系統(tǒng)限定的長(zhǎng)度。3)標(biāo)識(shí)符應(yīng)盡可能做到“見(jiàn)名知義”。

4)用戶(hù)自己定義的標(biāo)識(shí)符可以直接使用,如果標(biāo)識(shí)符名與系統(tǒng)保留字(關(guān)鍵字)重名時(shí),應(yīng)該用反引號(hào)(``)括起來(lái)。但建議在給對(duì)象命名時(shí),應(yīng)避免和系統(tǒng)的保留字重名。

5)操作系統(tǒng)中的文件系統(tǒng)是否大小寫(xiě)敏感,會(huì)影響到如何命名和引用數(shù)據(jù)庫(kù)對(duì)象。如果文件系統(tǒng)大小寫(xiě)敏感(如UNIX),名字為tbl_items、TBL_items和tbl_ITEMS是三個(gè)不同的標(biāo)識(shí)符。如果文件系統(tǒng)大小寫(xiě)不敏感(如Windows),那么這三個(gè)名字指的是一個(gè)標(biāo)識(shí)符,也就是對(duì)應(yīng)一個(gè)對(duì)象。標(biāo)識(shí)符的命名規(guī)則如下:§5.2認(rèn)識(shí)數(shù)據(jù)表1.表的名稱(chēng)在當(dāng)前數(shù)據(jù)庫(kù)中操作數(shù)據(jù)表時(shí),表名之前的數(shù)據(jù)庫(kù)名限定可以省略,只有在處理屬于兩個(gè)不同數(shù)據(jù)庫(kù)中的數(shù)據(jù)表時(shí),才需要用完整的數(shù)據(jù)表名。數(shù)據(jù)庫(kù)名.表名完整的數(shù)據(jù)表名稱(chēng)應(yīng)該由數(shù)據(jù)庫(kù)名和表名兩部分組成,其格式如下:§5.2認(rèn)識(shí)數(shù)據(jù)表2.數(shù)據(jù)表MySQL的表?yè)碛辛校–olumn)和行(Row)。列即是字段(Field),而每一行中的各個(gè)字段的數(shù)據(jù)構(gòu)成一條數(shù)據(jù)記錄(Record)。數(shù)據(jù)表表的結(jié)構(gòu)表的內(nèi)容(數(shù)據(jù)、記錄)§5.2認(rèn)識(shí)數(shù)據(jù)表【例5.10】顯示客戶(hù)表customers的數(shù)據(jù),了解表的構(gòu)成。2.數(shù)據(jù)表字段字段字段字段第一行是表的結(jié)構(gòu)記錄記錄記錄§5.2認(rèn)識(shí)數(shù)據(jù)表記錄3.表的結(jié)構(gòu)表的結(jié)構(gòu)定義即決定表?yè)碛心男┳侄我约斑@些字段的特性。所謂“字段特性”是指這些字段的名稱(chēng)、數(shù)據(jù)類(lèi)型、長(zhǎng)度、精度、小數(shù)位數(shù)、是否允許空值(NULL)、設(shè)置默認(rèn)值、主碼等?!纠?.11】使用DESC語(yǔ)句查看客戶(hù)表customers的表結(jié)構(gòu)。§5.2認(rèn)識(shí)數(shù)據(jù)表4.字段名(1)字段名最長(zhǎng)可達(dá)64個(gè)字符。(2)字段名可包含中文、英文字母、數(shù)字、下劃線(xiàn)符號(hào)(_)、#字符號(hào)()、$貨幣符號(hào)。字段名可以用中文(建議盡量不要使用中文字段名)。(3)字段名應(yīng)盡可能做到“見(jiàn)名知義”。通過(guò)字段名稱(chēng)就可以知道字段表示的屬性值的含義,從而增強(qiáng)可讀性。(4)同一個(gè)表中,各個(gè)字段的名稱(chēng)不能重復(fù)。(5)字段名不能使用MySQL語(yǔ)言中的關(guān)鍵字,如:DROP、ALTER、INSERT、CREATE等。表可以擁有多個(gè)字段,各個(gè)字段分別用來(lái)存儲(chǔ)不同性質(zhì)的數(shù)據(jù),字段名同樣必須符合MySQL的命名規(guī)則?!?.2認(rèn)識(shí)數(shù)據(jù)表5.表間關(guān)系在關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)一般都包含多個(gè)表,表間也會(huì)存在聯(lián)系。表間聯(lián)系是通過(guò)外鍵(外碼)來(lái)實(shí)現(xiàn)的,也是體現(xiàn)了關(guān)系之間的參照完整性。主表(父表)從表(子表)主表(父表)從表(子表)從表(子表)主表(父表)§5.2認(rèn)識(shí)數(shù)據(jù)表數(shù)值數(shù)據(jù)類(lèi)型:包括整數(shù)類(lèi)型TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮點(diǎn)小數(shù)類(lèi)型FLOAT和DOUBLE,定點(diǎn)小數(shù)類(lèi)型DECIMAL。日期/時(shí)間類(lèi)型:包括YEAR、TIME、DATE、DATETIME和TIMESTAMP。字符串類(lèi)型:包括CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET等。二進(jìn)制類(lèi)型:包括BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。MySQL提供多種數(shù)據(jù)類(lèi)型,數(shù)據(jù)類(lèi)型是對(duì)數(shù)據(jù)存儲(chǔ)方式的一種約定,它能夠規(guī)定數(shù)據(jù)的操作方式和存儲(chǔ)所占空間的大小。MySQL數(shù)據(jù)庫(kù)使用不同的數(shù)據(jù)類(lèi)型存儲(chǔ)數(shù)據(jù),主要根據(jù)實(shí)際需求(數(shù)據(jù)值的內(nèi)容、大小、精度)來(lái)選擇合適的數(shù)據(jù)類(lèi)型?!?.3數(shù)據(jù)類(lèi)型5.3.1數(shù)值類(lèi)型MySQL支持所有的ANSI/ISOSQL92數(shù)字類(lèi)型,包括整數(shù)和小數(shù)。其中整數(shù)用整數(shù)類(lèi)型表示;小數(shù)用浮點(diǎn)數(shù)類(lèi)型和定點(diǎn)數(shù)類(lèi)型表示。數(shù)據(jù)類(lèi)型字節(jié)數(shù)無(wú)符號(hào)數(shù)的取值范圍有符號(hào)數(shù)的取值范圍TINYINT10~255-128~127SMALLINT20~65535-32768~32767MEDIUMINT30~16777215-8388608~8388607INT或INTEGER40~4294967295-2147483648~2147483647BIGINT80~18446744073709551615-9223372036854775808~9223372036854775807MySQL的整數(shù)類(lèi)型表—----整數(shù)類(lèi)型§5.3數(shù)據(jù)類(lèi)型5.3.1數(shù)值類(lèi)型——整數(shù)類(lèi)型注:MySQL允許指定整數(shù)值的顯示寬度,INT(M)表示該整數(shù)值最大有效顯示寬度為M。例如INT(10)表示最大顯示寬度為10。在MySQL8.x及以后版本不再支持設(shè)置顯示寬度。顯示寬度與存儲(chǔ)大小、類(lèi)型包含的值的范圍無(wú)關(guān);實(shí)際數(shù)據(jù)位數(shù)<M時(shí),由空格(或0)填充(右對(duì)齊:填在左側(cè))。實(shí)際數(shù)據(jù)位數(shù)>M時(shí),顯示完整數(shù)據(jù)。如果在定義表結(jié)構(gòu)時(shí)不指定顯示寬度,系統(tǒng)則為該字段指定默認(rèn)的顯示寬度?!?.3數(shù)據(jù)類(lèi)型5.3.1數(shù)值類(lèi)型——浮點(diǎn)數(shù)類(lèi)型MySQL中使用浮點(diǎn)數(shù)和定點(diǎn)數(shù)表示小數(shù);其中浮點(diǎn)類(lèi)型有兩種:?jiǎn)尉雀↑c(diǎn)類(lèi)型FLOAT和雙精度浮點(diǎn)類(lèi)型DOUBLE;定點(diǎn)數(shù)類(lèi)型只有一種DECIMAL。用(M,D)來(lái)定義小數(shù),其中M稱(chēng)為精度,表示總共的位數(shù);D稱(chēng)為標(biāo)度,表示小數(shù)的位數(shù)。其中M和D的取值范圍是:M(1~255),D(1~30,且不能大于M-2)數(shù)據(jù)類(lèi)型字節(jié)數(shù)負(fù)數(shù)的取值范圍非負(fù)數(shù)的取值范圍FLOAT4-3.402823466E+38~-1.175494351E-380和1.175494351E-38~3.402823466E+38DOUBLE8-1.7976931E+308~-2.2250738E-3080和2.2250738E-308~1.7976931E+308MySQL的浮點(diǎn)數(shù)類(lèi)型表§5.3數(shù)據(jù)類(lèi)型5.3.1數(shù)值類(lèi)型——定點(diǎn)數(shù)類(lèi)型定點(diǎn)數(shù)類(lèi)型DECIMAL實(shí)際是以字符串存儲(chǔ)的。DECIMAL可能的最大取值范圍與DOUBLE一樣;但其有效的取值范圍由M和D決定。M固定,則其取值范圍將隨著D的變大而變小,但精度增加;D固定,則其取值范圍將隨著M的變大而變大。DECIMAL的存儲(chǔ)空間不是固定的,由M和D決定:若M>D,則字節(jié)數(shù)為M+2;若D>M,則字節(jié)數(shù)為D+2。數(shù)據(jù)類(lèi)型字節(jié)數(shù)負(fù)數(shù)的取值范圍非負(fù)數(shù)的取值范圍DEC(M,D)、DECIMAL(M,D)如果M>D為M+2,否則為D+2-1.7976931E+308~-2.2250738E-3080和2.2250738E-308~1.7976931E+308MySQL的定點(diǎn)數(shù)類(lèi)型表§5.3數(shù)據(jù)類(lèi)型5.3.1數(shù)值類(lèi)型

1)在能夠容納所有數(shù)據(jù)的前提下,盡可能選擇最小的可用類(lèi)型。例如年齡,正常的值在0到120之間,則可以使用TINYINT,這樣數(shù)據(jù)占用內(nèi)存少,數(shù)據(jù)處理也更簡(jiǎn)單。2)在需要表示的精度要求比較高的時(shí)候,比如貨幣、用于科學(xué)計(jì)算用的數(shù)據(jù)等,優(yōu)先選擇定點(diǎn)數(shù)類(lèi)型DECIMAL。

3)不論定點(diǎn)類(lèi)型還是浮點(diǎn)類(lèi)型,如果用戶(hù)指定的精度值超過(guò)系統(tǒng)定義的精度范圍,則會(huì)進(jìn)行四舍五入。4)因?yàn)楦↑c(diǎn)數(shù)存在誤差,也盡量避免兩個(gè)數(shù)值相近的浮點(diǎn)數(shù)進(jìn)行大小比較。在創(chuàng)建表時(shí),數(shù)字類(lèi)型的選擇應(yīng)遵循一下原則:§5.3數(shù)據(jù)類(lèi)型5.3.2日期時(shí)間類(lèi)型MySQL支持5種日期類(lèi)型:包括YEAR、DATE、TIME、DATETIME和TIMESTAMP。日期時(shí)間類(lèi)型字節(jié)數(shù)范圍格式用途DATE41000-01-01~9999-12-31YYYY-MM-DD日期值TIME3-838:59:59~838:59:59HH:MM:SS時(shí)間值YEAR11901~2155YYYY年份值DATETIME81000-01-0100:00:00~9999-12-3123:59:59YYYY-MM-DDHH:MM:SS混合日期和時(shí)間值TIMESTAMP419700101080001~2038年的某一時(shí)刻YYYYMMDDHHMMSS時(shí)間戳§5.3數(shù)據(jù)類(lèi)型5.3.2日期時(shí)間類(lèi)型(1)DATE類(lèi)型的字段一般使用函數(shù)CURRENT_DATE()或NOW()插入計(jì)算機(jī)系統(tǒng)的當(dāng)前日期;(2)在給DATETIME類(lèi)型的字段賦值時(shí),可以使用字符串類(lèi)型或者數(shù)值類(lèi)型,只需符合DATETIME格式;(3)DATETIME和TIMESTAMP的顯示格式相同,顯示寬度為19個(gè)字符;但TIMESTAMP的取值范圍??;(4)DATETIME按實(shí)際輸入的格式存儲(chǔ),和時(shí)區(qū)無(wú)關(guān);(5)TIMESTAMP是以UTC(世界標(biāo)準(zhǔn)時(shí)間)格式存儲(chǔ),在進(jìn)行查詢(xún)時(shí),根據(jù)讀者所在時(shí)區(qū)不同,顯示的日期時(shí)間值是不同的。形式上,日期類(lèi)型的表示方法與字符串的表示方法相同,使用單引號(hào)括起來(lái);本質(zhì)上,日期類(lèi)型的數(shù)據(jù)是一個(gè)數(shù)值類(lèi)型,可以參與簡(jiǎn)單的加、減運(yùn)算;每種日期類(lèi)型都有取值范圍,當(dāng)插入不合法的值時(shí),系統(tǒng)會(huì)將“0”插入該字段?!?.3數(shù)據(jù)類(lèi)型5.3.3字符串類(lèi)型MySQL支持2種字符串類(lèi)型:文本字符串和二進(jìn)制字符串。字符串類(lèi)型指的是CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。字符串類(lèi)型的數(shù)據(jù)又可以分為普通的文本字符串類(lèi)型(CHAR和VARCHAR)、可變類(lèi)型(TEXT和BLOB)和特殊類(lèi)型(SET和ENUM)VARCHAR和TEXT類(lèi)型是變長(zhǎng)類(lèi)型,它們的存儲(chǔ)需求取決于值的實(shí)際長(zhǎng)度,而不是取決于類(lèi)型的最大可能程度。例如。一個(gè)VARCHAR(10)字段能保存最大長(zhǎng)度為10個(gè)字符的一個(gè)字符串,實(shí)際的存儲(chǔ)需求是字符串的長(zhǎng)度加上1個(gè)字節(jié)來(lái)記錄字符串的長(zhǎng)度。例如,字符串’welcome’,字符個(gè)數(shù)是7而存儲(chǔ)需求是8個(gè)字節(jié)?!?.3數(shù)據(jù)類(lèi)型5.3.3字符串類(lèi)型字符串類(lèi)型大小用途字符串類(lèi)型大小用途CHAR0~255B定長(zhǎng)字符串VARCHAR0~255B變長(zhǎng)字符串TINYBLOB0~255B不超過(guò)255個(gè)字符的二進(jìn)制字符串YINYTEXT0~255B短文本字符串BLOB0~65535B二進(jìn)制的長(zhǎng)文本數(shù)據(jù)TEXT0~65535B長(zhǎng)文本數(shù)據(jù)MEDIUMBLOB0~16777215B二進(jìn)制形式的中等長(zhǎng)度文本數(shù)據(jù)MEDIUMTEXT0~16777215B中等長(zhǎng)度文本數(shù)據(jù)LONGBLOB0~4294967295B二進(jìn)制形式的極大文本數(shù)據(jù)LONGTEXT0~4294967295B極大文本數(shù)據(jù)§5.3數(shù)據(jù)類(lèi)型5.3.3字符串類(lèi)型(1)CHAR和VARCHAR類(lèi)型CHAR(M)為固定長(zhǎng)度字符串,M表示該字段中存儲(chǔ)的字符串長(zhǎng)度,取值范圍在0~255,輸入的字符串長(zhǎng)度不足M時(shí),右側(cè)用空格填滿(mǎn),當(dāng)查詢(xún)到CHAR的值時(shí),尾部的空格被刪除。VARCHAR(M)為長(zhǎng)度可變的字符串,M表示最大的字符串長(zhǎng)度,取值范圍在0~65535,VARCHAR的最大實(shí)際長(zhǎng)度由最長(zhǎng)字段的大小和使用的字符集確定。例如:VARCHAR(50)定義一個(gè)最長(zhǎng)為50的字符串,如果輸入的字符串只有20個(gè)字符,那么實(shí)際存儲(chǔ)的字符串的長(zhǎng)度為21,20個(gè)字符+一個(gè)字符串結(jié)束符。VARCHAR在值存儲(chǔ)和查詢(xún)時(shí)尾部的空格仍保留?!?.3數(shù)據(jù)類(lèi)型5.3.3字符串類(lèi)型(2)TEXT類(lèi)型TEXT字段保存非二進(jìn)制字符串,如文章內(nèi)容、評(píng)論、留言等,當(dāng)保存或查詢(xún)TEXT字段值時(shí),不刪除尾部空格。TEXT類(lèi)型分為4種:TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT。不同的TEXT類(lèi)型所需的存儲(chǔ)空間和數(shù)據(jù)長(zhǎng)度都有所不同?!?.3數(shù)據(jù)類(lèi)型5.3.4二進(jìn)制類(lèi)型MySQL支持7種二進(jìn)制類(lèi)型:BINARY、VARBINARY、BIT、TINYBLOB、BLOB、MEDIUBLOB、LONGBLOB。二進(jìn)制類(lèi)型的主要用于存儲(chǔ)由‘0’、‘1’組成的字符串,從某種意義上講,二進(jìn)制類(lèi)型的數(shù)據(jù)是一種特殊格式的字符串。二進(jìn)制類(lèi)型與字符型的區(qū)別在于,字符串類(lèi)型的數(shù)據(jù)按字符為單位進(jìn)行存儲(chǔ),因此有多種字符集和多種字符序;除了BIT數(shù)據(jù)類(lèi)型按位為單位進(jìn)行存儲(chǔ),其他二進(jìn)制類(lèi)型的數(shù)據(jù)都是按字節(jié)為單位存儲(chǔ),僅存在二進(jìn)制字符集binary?!?.3數(shù)據(jù)類(lèi)型5.3.5枚舉類(lèi)型其中“字段名”指將要定義的字段名稱(chēng);“值n”指的是枚舉列表中的第n個(gè)值,枚舉列表中最多可以有65535個(gè)值,列表中的每個(gè)值的尾部空格自動(dòng)被刪除。ENUM類(lèi)型的字段在取值時(shí),只能在指定的枚舉列表中取,而且只能取一個(gè)值。ENUM值在計(jì)算機(jī)中用整數(shù)表示,每個(gè)枚舉列表中的值都有一個(gè)索引值,列表值從1開(kāi)始。ENUM值依照索引順序排列,空字符串排在非空字符串之前,NULL值排在其他所有枚舉值之前。如果ENUM類(lèi)型的字段聲明為允許NULL,NULL則為該字段的有效值,也是默認(rèn)值;否則默認(rèn)值為枚舉列表中的第1個(gè)值。ENUM是一種字符串類(lèi)型,創(chuàng)建表時(shí),通過(guò)枚舉方式(一個(gè)個(gè)的值列出來(lái))為字段顯式指定枚舉列表。語(yǔ)法格式:字段名ENUM(‘值1’,’值2’,…,’值n’)§5.3數(shù)據(jù)類(lèi)型5.3.5枚舉類(lèi)型【例5.12】使用CREATE語(yǔ)句創(chuàng)建一張加班記錄表tbl_work_overtime包含INT類(lèi)型的序號(hào)id、CHAR(4)類(lèi)型的職工編號(hào)employee_id、ENUM類(lèi)型的周幾weekday三個(gè)字段。weekday字段沒(méi)有設(shè)置默認(rèn)值,允許為NULL。

CREATETABLEtbl_work_overtime1(idINT,employee_idCHAR(4),weekdayENUM('monday','tuesday','wednesday','thursday','friday','saturday','sunday'));首先,創(chuàng)建表允許為空§5.3數(shù)據(jù)類(lèi)型5.3.5枚舉類(lèi)型【例5.12】使用CREATE語(yǔ)句創(chuàng)建一張加班記錄表tbl_work_overtime包含INT類(lèi)型的序號(hào)id、CHAR(4)類(lèi)型的職工編號(hào)employee_id、ENUM類(lèi)型的周幾weekday三個(gè)字段。weekday字段沒(méi)有設(shè)置默認(rèn)值,允許為NULL。

INSERTINTOtbl_work_overtime1(id,employee_id)VALUES(1,'1001');INSERTINTOtbl_work_overtime1VALUES(2,'1002','sunday'),(3,'1003','wednesday');其次,插入數(shù)據(jù)§5.3數(shù)據(jù)類(lèi)型5.3.5枚舉類(lèi)型【例5.12】使用CREATE語(yǔ)句創(chuàng)建一張加班記錄表tbl_work_overtime包含INT類(lèi)型的序號(hào)id、CHAR(4)類(lèi)型的職工編號(hào)employee_id、ENUM類(lèi)型的周幾weekday三個(gè)字段。weekday字段沒(méi)有設(shè)置默認(rèn)值,允許為NULL。

SELECT*FROMtbl_work_overtime1;最后,查看記錄內(nèi)容§5.3數(shù)據(jù)類(lèi)型5.3.5枚舉類(lèi)型【例5.13】使用CREATE語(yǔ)句創(chuàng)建一張加班記錄表tbl_work_overtime2包含INT類(lèi)型的序號(hào)id、CHAR(4)類(lèi)型的職工編號(hào)employee_id、ENUM類(lèi)型的周幾weekday三個(gè)字段。并為weekday字段設(shè)置默認(rèn)值'saturday'。

CREATETABLEtbl_work_overtime2(idINT,employee_idCHAR(4),weekdayENUM('monday','tuesday','wednesday','thursday','friday','saturday','sunday')DEFAULT'saturday');首先,創(chuàng)建表設(shè)置默認(rèn)值§5.3數(shù)據(jù)類(lèi)型5.3.5枚舉類(lèi)型INSERTINTOtbl_work_overtime2(id,employee_id)VALUES(1,'1001');INSERTINTOtbl_work_overtime2VALUES(2,'1002','sunday'),(3,'1003','wednesday');其次,插入數(shù)據(jù)

SELECT*FROMtbl_work_overtime2;最后,查看記錄內(nèi)容§5.3數(shù)據(jù)類(lèi)型5.3.5枚舉類(lèi)型【例5.14】使用CREATE語(yǔ)句創(chuàng)建一張加班記錄表tbl_work_overtime3包含INT類(lèi)型的序號(hào)id、CHAR(4)類(lèi)型的職工編號(hào)employee_id、ENUM類(lèi)型的周幾weekday三個(gè)字段。并為weekday字段設(shè)置NOTNULL。

CREATETABLEtbl_work_overtime3(idINT,employee_idCHAR(4),weekdayENUM('monday','tuesday','wednesday','thursday','friday','saturday','sunday')NOTNULL);首先,創(chuàng)建表設(shè)置NOTNULL、沒(méi)有默認(rèn)值§5.3數(shù)據(jù)類(lèi)型5.3.5枚舉類(lèi)型INSERTINTOtbl_work_overtime3(id,employee_id)VALUES(1,'1001');INSERTINTOtbl_work_overtime3VALUES(2,'1002','sunday'),(3,'1003','wednesday');其次,插入數(shù)據(jù)

SELECT*FROMtbl_work_overtime3;最后,查看記錄內(nèi)容§5.3數(shù)據(jù)類(lèi)型枚舉類(lèi)型的字段不允許為NULL、沒(méi)有設(shè)置默認(rèn)值,如果插入數(shù)據(jù)時(shí)省略,則取枚舉類(lèi)型定義的第一個(gè)值。5.3.6集合類(lèi)型SET類(lèi)型也屬于字符串類(lèi)型,在創(chuàng)建表的時(shí)候,通過(guò)列舉方式(一個(gè)個(gè)的值列出來(lái))為字段顯式指定集合列表。語(yǔ)法格式:字段名SET(‘值1’,’值2’,…,’值n’)§5.3數(shù)據(jù)類(lèi)型5.3.6集合類(lèi)型與ENUM類(lèi)型相同的是:SET值在內(nèi)部用整數(shù)表示,列表中每個(gè)值都有一個(gè)索引編號(hào)。創(chuàng)建表時(shí),SET成員的尾部空格被自動(dòng)刪除。與ENUM類(lèi)型不同的是:ENUM類(lèi)型的字段只能在指定的枚舉列表中選擇一個(gè)值;而SET類(lèi)型的字段可以從定義的列表中選擇多個(gè)值。如果插入SET字段中的值有重復(fù),則MySQL自動(dòng)刪除多余的重復(fù)值;插入SET字段的值的順序不重要,系統(tǒng)在存入數(shù)據(jù)庫(kù)時(shí)會(huì)按照SET定義的順序存儲(chǔ)和顯示;如果插入非法數(shù)據(jù)則被忽視,并給出警告。枚舉類(lèi)型與集合類(lèi)型的比較:§5.3數(shù)據(jù)類(lèi)型5.3.6集合類(lèi)型【例5.15】使用CREATE語(yǔ)句創(chuàng)建一張學(xué)生興趣愛(ài)好的表tbl_hobbies包含CHAR(10)類(lèi)型的學(xué)號(hào)stud_id、VARCHAR(10)類(lèi)型的姓名name、SET類(lèi)型的興趣愛(ài)好hobby三個(gè)字段。其中興趣愛(ài)好包括:音樂(lè)、唱歌、跳遠(yuǎn)、跳高、乒乓球、籃球、攝影、素描。

CREATETABLEtbl_hobbies(stud_idCHAR(10),nameVARCHAR(10),hobbySET('音樂(lè)','唱歌','跳遠(yuǎn)','跳高','乒乓球','籃球','攝影','素描'));首先,創(chuàng)建表§5.3數(shù)據(jù)類(lèi)型5.3.6集合類(lèi)型INSERTINTOtbl_hobbies(stud_id,name)VALUES('2021010566','楊欣悅');INSERTINTOtbl_hobbies(stud_id,name,hobby)VALUES('2021010567','孫穆晨','攝影,唱歌'),('2021010567','鄭澤龍','籃球,乒乓球,攝影');其次,插入數(shù)據(jù)

SELECT*FROMtbl_hobbies;最后,查看記錄內(nèi)容§5.3數(shù)據(jù)類(lèi)型5.3.6集合類(lèi)型枚舉類(lèi)型與集合類(lèi)型的比較:ENUM類(lèi)型的字段只允許從一個(gè)集合中取一個(gè)值,類(lèi)似于單選按鈕。例如,性別只能從|‘男’,‘女’|中取一個(gè)值。SET類(lèi)型的字段允許從一個(gè)集合中取多個(gè)值,類(lèi)似于復(fù)選框。例如,興趣愛(ài)好可以從|‘購(gòu)物’,‘旅游’,‘游泳’,‘唱歌’,‘運(yùn)動(dòng)’|中取多個(gè)值。一個(gè)SET類(lèi)型的數(shù)據(jù)最多可以包含64個(gè)元素;一個(gè)ENUM類(lèi)型的數(shù)據(jù)最多可以包含65535個(gè)元素?!?.3數(shù)據(jù)類(lèi)型運(yùn)算符是用來(lái)連接表達(dá)式中各個(gè)操作數(shù)據(jù)的符號(hào)。用來(lái)指明對(duì)操作數(shù)據(jù)所進(jìn)行的運(yùn)算。MySQL支持算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符和位運(yùn)算符四種類(lèi)型。5.4.1

算術(shù)運(yùn)算符運(yùn)算符作用+加法,返回相加后的值-減法,返回相減后的值*乘法,返回相乘后的值/,DIV取整,返回相除后的商%,MOD求余,返回相除后的余數(shù)§5.4運(yùn)算符【例5.16】在MySQL中使用SELECT可以顯示表達(dá)式的值。

SELECT5+2,5-2,5*2,5/2,5DIV2,5/0,5%2,5MOD2,5MOD0;5.4.1

算術(shù)運(yùn)算符§5.4運(yùn)算符5.4.2比較運(yùn)算符運(yùn)算符作用運(yùn)算符作用=、<、<=、>、>=等于、小于、小于等于、大于、大于等于IN(value1,value2,…)存在于集合(value1,value2,…)中<>或!=不等于ISNULL為NULL<=>當(dāng)兩個(gè)操作數(shù)都為NULL時(shí)返回1IS

NOT

NULL不為NULLBETWEENminANDmax判斷操作數(shù)在min和max之間REGEXP或RLIKE正則表達(dá)式匹配LIKE通配符匹配?!?”匹配任意數(shù)目的字符,包括零字符,“_”只匹配一個(gè)字符比較運(yùn)算符有很多,比較結(jié)果為真返回1,為假返回0為NULL?!?.4運(yùn)算符5.4.2比較運(yùn)算符數(shù)值比較時(shí)的規(guī)則(1)若有一個(gè)或兩個(gè)參數(shù)為NULL,則比較運(yùn)算符的結(jié)果為NULL。(2)若同一個(gè)比較運(yùn)算符中的兩個(gè)參數(shù)都是字符串,則按照字符串進(jìn)行比較(不區(qū)分大小寫(xiě))。(3)若兩個(gè)參數(shù)均為整數(shù),則按照整數(shù)進(jìn)行比較。(4)若兩個(gè)參數(shù)均為數(shù)字,則按浮點(diǎn)數(shù)進(jìn)行比較。(5)若一個(gè)字符串和一個(gè)數(shù)字進(jìn)行相等比判斷,則MySQL可以自動(dòng)將字符串轉(zhuǎn)換為數(shù)字,然后按數(shù)字進(jìn)行比較?!?.4運(yùn)算符【例5.17】使用比較運(yùn)算符進(jìn)行比較運(yùn)算。

SELECT1=0,'2'=2,1+5=3+3,'ab'='ad',5=NULL,NULL=NULL,NULL<=>NULL;5.4.2比較運(yùn)算符----比較大小運(yùn)算符§5.4運(yùn)算符【例5.18】使用BETWEENAND和NOTBETWEENAND進(jìn)行區(qū)間判斷。SELECT6BETWEEN1AND6,6BETWEEN10+5AND1,'f'BETWEEN'a'AND'z',16BETWEEN1AND10,16NOTBETWEEN1AND10;5.4.2比較運(yùn)算符----[NOT]BETWEENAND運(yùn)算符語(yǔ)法格式:表達(dá)式

[NOT]BETWEENminANDmax§5.4運(yùn)算符【例5.19】使用LEAST和GREATEST運(yùn)算符求最值。

SELECTLEAST(5,12),LEAST('ab','abc'),LEAST(10,NULL),GREATEST(5,12,8),GREATEST(10,NULL);5.4.2比較運(yùn)算符----LEAST和GREATEST運(yùn)算符語(yǔ)法格式:LEAST|GREATEST(值1,值2,…,值n)§5.4運(yùn)算符【例5.20】使用ISNULL(ISNULL)和ISNOTNULL判斷NULL值和非NULL值。

SELECTNULLISNULL,ISNULL(NULL),ISNULL(1),1ISNULL,1ISNOTNULL,NULLISNOTNULL;5.4.2比較運(yùn)算符----IS[NOT]NULL(ISNULL)運(yùn)算符語(yǔ)法格式:表達(dá)式

IS[NOT]NULL§5.4運(yùn)算符【例5.21】使用IN和NOTIN進(jìn)行判斷。

SELECT5IN(1,5,'sql'),'sql'NOTIN(1,2,'sql'),NULLIN(1,5,'sql'),NULLIN(1,5,NULL),NULLNOTIN(1,5,NULL);5.4.2比較運(yùn)算符----IN和NOTIN運(yùn)算符語(yǔ)法格式:表達(dá)式

[NOT]IN(值1,值2,…,值n)§5.4運(yùn)算符?'%',可以匹配任意n個(gè)字符,n>=0;?'_',只能匹配一個(gè)字符;

SELECT'lucky'LIKE'l%','lucky'LIKE'%y','lucky'LIKE'l_cky','lucky_lily'LIKE'lucky/_%'ESCAPE'/','luckylily'LIKE'lucky/_%'ESCAPE'/';5.4.2比較運(yùn)算符----LIKE運(yùn)算符語(yǔ)法格式:表達(dá)式

LIKE匹配條件通配符:【例5.22】使用LIKE運(yùn)算符進(jìn)行字符匹配?!?.4運(yùn)算符5.4.3邏輯運(yùn)算符運(yùn)算符作用NOT或!邏輯非AND或&邏輯與OR或||邏輯或XOR邏輯異或邏輯運(yùn)算也成為布爾運(yùn)算,在SQL中,所有邏輯表達(dá)式的結(jié)果均為T(mén)RUE或FALSE或NULL,在MySQL中分別顯示為1、0、NULL?!?.4運(yùn)算符5.4.3.邏輯運(yùn)算符(1)NOT或者!:表示當(dāng)操作數(shù)為零時(shí),返回值為1,當(dāng)操作數(shù)為1時(shí),返回值為0,當(dāng)操作數(shù)為NULL時(shí),返回值為NULL。(2)AND或者&:表示當(dāng)所有操作數(shù)均為非零值,并且不為NULL時(shí),返回值為1,當(dāng)一個(gè)或多個(gè)操作數(shù)為零時(shí),返回值為0,其余情況返回值為NULL。(3)OR或者||:表示當(dāng)兩個(gè)操作數(shù)均不為NULL,且任意一個(gè)操作數(shù)為非零,使結(jié)果為1,否則結(jié)果為0。當(dāng)有一個(gè)操作數(shù)為NULL,且另一個(gè)操作數(shù)為非零值,則結(jié)果為1,否則結(jié)果為NULL;當(dāng)兩個(gè)操作數(shù)均為NULL時(shí),則所得結(jié)果為NULL。(4)XOR:當(dāng)任意一個(gè)操作數(shù)為NULL時(shí),返回值為NULL,對(duì)于非NULL的操作數(shù),如果兩個(gè)操作數(shù)都是非0值或者都是0值,則返回值結(jié)果為0,如果一個(gè)為0,另一個(gè)為非0值,返回值結(jié)果為1。§5.4運(yùn)算符【例5.23】使用邏輯非運(yùn)算符進(jìn)行邏輯運(yùn)算。

SELECTNOT0,NOT10,!0,!0,!-10,NOT10+1,!10+1,!0+1,NOTNULL,!NULL;5.4.3.邏輯運(yùn)算符§5.4運(yùn)算符【例5.24】使用AND、OR、XOR進(jìn)行邏輯運(yùn)算。

SELECT10AND-8,0AND10,0ANDNULL,10ANDNULL,10OR0,10ORNULL,0ORNULL,10XOR0,10XORNULL;5.4.3.邏輯運(yùn)算符§5.4運(yùn)算符在創(chuàng)建完數(shù)據(jù)庫(kù)之后,接下來(lái)就要在數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表。所謂創(chuàng)建數(shù)據(jù)表,指的是在已經(jīng)創(chuàng)建好的數(shù)據(jù)庫(kù)中建立新表。創(chuàng)建數(shù)據(jù)表的過(guò)程是規(guī)定數(shù)據(jù)列的屬性的過(guò)程,同時(shí)也是實(shí)施數(shù)據(jù)完整性(實(shí)體完整性、參照完整性和用戶(hù)定義完整性)約束的過(guò)程。數(shù)據(jù)表屬于數(shù)據(jù)庫(kù),在創(chuàng)建數(shù)據(jù)表之前,要使用“USE數(shù)據(jù)庫(kù)名”指定操作是在哪個(gè)數(shù)據(jù)庫(kù)中進(jìn)行,如果沒(méi)有選擇具體的數(shù)據(jù)庫(kù)直接建表,系統(tǒng)會(huì)顯示錯(cuò)誤信息:“Nodatabaseselected”5.5.1創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)語(yǔ)句§5.5表結(jié)構(gòu)的創(chuàng)建CREATETABLE[IFNOTEXISTS]表名(字段名1數(shù)據(jù)類(lèi)型[列級(jí)別約束條件][默認(rèn)值],字段名2數(shù)據(jù)類(lèi)型[列級(jí)別約束條件][默認(rèn)值],……[表級(jí)別約束條件]);5.5.1創(chuàng)建表結(jié)構(gòu)語(yǔ)句語(yǔ)法格式:§5.5表結(jié)構(gòu)的創(chuàng)建數(shù)據(jù)表屬于數(shù)據(jù)庫(kù),在創(chuàng)建數(shù)據(jù)表之前,要使用“USE數(shù)據(jù)庫(kù)名”指定操作是在哪個(gè)數(shù)據(jù)庫(kù)中進(jìn)行,如果沒(méi)有選擇具體的數(shù)據(jù)庫(kù)直接建表,系統(tǒng)會(huì)顯示錯(cuò)誤信息:“Nodatabaseselected”1)

IFNOTEXISTS:如果數(shù)據(jù)庫(kù)中已經(jīng)存在表名的表,再來(lái)使用CREATETABLE創(chuàng)建一個(gè)同名的表時(shí),系統(tǒng)會(huì)給出錯(cuò)誤信息,為了避免系統(tǒng)給出錯(cuò)誤信息的提示,可以在創(chuàng)建表的前面加上這個(gè)判斷,只有該表目前不存在時(shí)才執(zhí)行CREATETABLE操作。2)表名和字段名要符合MySQL的命名規(guī)則,不區(qū)分大小寫(xiě),不能使用MySQL中的關(guān)鍵字,如ALTER、CREATE、TABLE、DROP等;3)語(yǔ)法格式中“[]”表示可選項(xiàng);4)創(chuàng)建表時(shí),必須定義表的每一個(gè)字段的名稱(chēng)和數(shù)據(jù)類(lèi)型,如果包含多個(gè)字段,要用逗號(hào)隔開(kāi),但最后的右側(cè)小括號(hào)的前面不能有逗號(hào)?!?.5表結(jié)構(gòu)的創(chuàng)建字段名數(shù)據(jù)類(lèi)型[NOTNULL|NULL][DEFAULT默認(rèn)值][AUTO_INCREMENT][UNIQUE|KEY][[PRIMARY]KEY][COMMENT注釋名稱(chēng)][REFERENCE外鍵][INDEX索引名][CHARSET字符集][COLLATE校驗(yàn)規(guī)則]5)字段的定義包括指定字段名、數(shù)據(jù)類(lèi)型以及約束條件。約束條件包括:是否允許空值,指定默認(rèn)值、主鍵約束、唯一性約束、注釋字段名、是否為外鍵以及字段類(lèi)型的屬性等。5.5.1創(chuàng)建表結(jié)構(gòu)語(yǔ)句§5.5表結(jié)構(gòu)的創(chuàng)建1)NOTNULL或NULL,表示字段是否可以為NULL值,NULL不同于零、空白或長(zhǎng)度為零的字符串,NULL值意味著此值是未知的或不可用的。2)DEFAULT,用來(lái)指定字段的默認(rèn)值;3)AUTO_INCREMENT,設(shè)置自增屬性,只有整數(shù)類(lèi)型才能設(shè)置該屬性;4)UNIQUEKEY,對(duì)字段指定唯一性約束,該字段不能有重復(fù)值,但可以有一個(gè)NULL值。5)PRIMARYKEY,對(duì)字段指定主鍵約束,該字段不能有重復(fù)值,也不能為NULL。6)COMMENT,對(duì)字段指定注釋名稱(chēng),即給字段起一個(gè)別名。7)REFERENCE,指定外鍵約束;8)INDEX,為表的相關(guān)字段設(shè)置索引。5.5.1創(chuàng)建數(shù)據(jù)表NULL不同于零、空白或長(zhǎng)度為零的字符串,NULL值意味著此值是未知的或不可用的?!?.5表結(jié)構(gòu)的創(chuàng)建MySQL支持的常用約束條件有6種:主鍵約束(PRIMARYKEY)、外鍵約束(FOREIGNKEY)、非空約束(NOTNULL)、唯一性約束(UNIQUE)、默認(rèn)值約束(DEFAULT)和自增約束(AUTO_INCREMENT)。

1)實(shí)體完整性:保證表中每條記錄都是可以識(shí)別和唯一的。參照完整性:? 不能在相關(guān)表中的外鍵字段中輸入不存在于主表中的主鍵中的值。? 如果在相關(guān)表中存在匹配記錄,則不能在主表中刪除該記錄,也不能修改其主鍵的值。用戶(hù)定義完整性:用戶(hù)指明表中的字段的取值范圍。5.5.2數(shù)據(jù)完整性約束§5.5表結(jié)構(gòu)的創(chuàng)建5.5.3使用主鍵約束----單字段主鍵方式一的語(yǔ)法格式:字段名數(shù)據(jù)類(lèi)型[CONSTRAINT約束名]PRIMARYKEY【例5.25】在online_sales_system數(shù)據(jù)庫(kù)中,根據(jù)下面表的表結(jié)構(gòu)創(chuàng)建商品表items。方式二的語(yǔ)法格式:[CONSTRAINT約束名]

PRIMARYKEY(字段名1[,字段名2,…])§5.5表結(jié)構(gòu)的創(chuàng)建首先使用USE語(yǔ)句將online_sales_system數(shù)據(jù)庫(kù)設(shè)置為當(dāng)前數(shù)據(jù)庫(kù)。USEonline_sales_system;

字段名說(shuō)明數(shù)據(jù)類(lèi)型是否允許NULL主鍵item_id商品編號(hào)char(4)NOTNULL是item_name商品名稱(chēng)varchar(45)NOTNULL

category類(lèi)別varchar(10)

cost成本價(jià)格decimal(10,2)

price銷(xiāo)售價(jià)格decimal(10,2)inventory庫(kù)存intIs_online是否上架tinyintitems(商品表)的結(jié)構(gòu)5.5.3使用主鍵約束----單字段主鍵§5.5表結(jié)構(gòu)的創(chuàng)建5.5.3使用主鍵約束----單字段主鍵CREATETABLEIFNOTEXISTSitems1(item_idCHAR(4),item_nameVARCHAR(45),categoryVARCHAR(10),costDECIMAL(10,2),priceDECIMAL(10,2),inventoryINT,is_onlineTINYINT,PRIMARYKEY(item_id));CREATETABLEIFNOTEXISTSitems(item_idCHAR(4)PRIMARYKEY,item_nameVARCHAR(45),categoryVARCHAR(10),costDECIMAL(10,2),priceDECIMAL(10,2),inventoryINT,is_onlineTINYINT);沒(méi)有逗號(hào)列級(jí)約束表級(jí)約束§5.5表結(jié)構(gòu)的創(chuàng)建5.5.3使用主鍵約束----多字段主鍵【例5.26】在online_sales_system數(shù)據(jù)庫(kù)中,根據(jù)下面表的表結(jié)構(gòu)創(chuàng)建訂單明細(xì)表order_details表。字段名說(shuō)明數(shù)據(jù)類(lèi)型是否允許NULL主鍵order_id訂單編號(hào)intNOTNULL是item_id商品編號(hào)char(4)NOTNULL

是quantity數(shù)量int

discount折扣decimal(5,2)

訂單明細(xì)表order_details的表結(jié)構(gòu)§5.5表結(jié)構(gòu)的創(chuàng)建5.5.3使用主鍵約束----多字段主鍵CREATETABLEIFNOTEXISTSorder_details(order_idINT,item_idCHAR(4),quantityINT,discountDECIMAL(5,2),

CONSTRAINT

ord_item

PRIMARYKEY(order_id,item_id));沒(méi)有逗號(hào)由多個(gè)字段聯(lián)合作為表的主鍵,則只能使用表級(jí)約束設(shè)置主鍵?!?.5表結(jié)構(gòu)的創(chuàng)建5.5.4使用非NULL約束語(yǔ)法格式:字段名數(shù)據(jù)類(lèi)型NOTNULL【例5.27】在online_sales_system數(shù)據(jù)庫(kù)中,根據(jù)下表的表結(jié)構(gòu)創(chuàng)建訂單表orders?!?.5表結(jié)構(gòu)的創(chuàng)建字段名說(shuō)明數(shù)據(jù)類(lèi)型是否允許NULL主鍵order_id訂單編號(hào)intNOTNULL是customer_id客戶(hù)編號(hào)char(3)NOTNULL

address配送地址varchar(45)

city城市varchar(10)

order_date訂單時(shí)間datetimeShipping_date發(fā)貨時(shí)間datetimeorders表的結(jié)構(gòu)5.5.4使用非NULL約束語(yǔ)法格式:字段名數(shù)據(jù)類(lèi)型NOTNULL【例5.27】在online_sales_system數(shù)據(jù)庫(kù)中,根據(jù)下表的表結(jié)構(gòu)創(chuàng)建訂單表orders。CREATETABLEIFNOTEXISTSorders(order_idINTNOTNULL,customer_idCHAR(3)NOTNULL,addressVARCHAR(45),cityVARCHAR(10),

order_dateDATETIME,shipping_dateDATETIME,

PRIMARYKEY(order_id));沒(méi)有逗號(hào)§5.5表結(jié)構(gòu)的創(chuàng)建沒(méi)有使用非NULL約束的字段可以取NULL值5.5.5使用默認(rèn)約束語(yǔ)法格式:字段名數(shù)據(jù)類(lèi)型DEFAULT默認(rèn)值【例5.28】在online_sales_system數(shù)據(jù)庫(kù)中,根據(jù)下頁(yè)表的表結(jié)構(gòu)創(chuàng)建客戶(hù)表customers。§5.5表結(jié)構(gòu)的創(chuàng)建字段名說(shuō)明數(shù)據(jù)類(lèi)型是否允許NULL主鍵默認(rèn)值customer_id客戶(hù)編號(hào)char(3)NOTNULL是name姓名varchar(20)NOTNULL

gender性別ENUM('男','女')

'男'registration_date注冊(cè)時(shí)間datephone聯(lián)系電話(huà)char(11)customers表的結(jié)構(gòu)5.5.5使用默認(rèn)約束語(yǔ)法格式:字段名數(shù)據(jù)類(lèi)型DEFAULT默認(rèn)值【例5.28】在online_sales_system數(shù)據(jù)庫(kù)中,根據(jù)下頁(yè)表的表結(jié)構(gòu)創(chuàng)建客戶(hù)表customers。CREATETABLEIFNOTEXISTScustomers(customer_idCHAR(3)NOTNULL,nameVARCHAR(20)NOTNULL,genderENUM('男','女')DEFAULT'男',registration_dateDATE,phoneCHAR(11),PRIMARYKEY(customer_id));沒(méi)有逗號(hào)§5.5表結(jié)構(gòu)的創(chuàng)建5.5.6使用唯一性約束----列級(jí)約束語(yǔ)法格式:字段名數(shù)據(jù)類(lèi)型UNIQUE【例5.29】定義商品表items2,設(shè)置商品的名稱(chēng)item_name唯一。CREATETABLEIFNOTEXISTSitems2(item_idCHAR(4)PRIMARYKEYNOTNULL,item_nameVARCHAR(45)UNIQUE,categoryVARCHAR(10),costDECIMAL(10,2),priceDECIMAL(10,2),inventoryINT,is_onlineTINYINT);列級(jí)約束§5.5表結(jié)構(gòu)的創(chuàng)建5.5.6使用唯一性約束----表級(jí)約束語(yǔ)法格式:[CONSTRAINT約束名]UNIQUE(字段名)【例5.30】定義商品表items3,使用表級(jí)約束設(shè)置商品的名稱(chēng)item_name唯一。CREATETABLEIFNOTEXISTSitems3(item_idCHAR(4)PRIMARYKEYNOTNULL,item_nameVARCHAR(45),categoryVARCHAR(10),costDECIMAL(10,2),priceDECIMAL(10,2),inventoryINT,is_onlineTINYINT,CONSTRAINTuniq_nameUNIQUE(item_name));表級(jí)約束§5.5表結(jié)構(gòu)的創(chuàng)建5.5.6使用唯一性約束一個(gè)表中只能有一個(gè)PRIMARYKEY聲明,即一個(gè)表只能有一個(gè)主鍵,主鍵的值不能重復(fù),也不允許有NULL值;一個(gè)表中可以有多個(gè)字段設(shè)置為唯一性約束UNIQUE,設(shè)置了唯一性約束的字段值不能重復(fù),但允許有一個(gè)NULL值。UNIQUE和PRIMARYKEY的區(qū)別:§5.5表結(jié)構(gòu)的創(chuàng)建5.5.7使用自增約束語(yǔ)法格式:字段名稱(chēng)數(shù)據(jù)類(lèi)型AUTO_INCREMENT【例5.31】定義訂單表orders2,將訂單編號(hào)order_id設(shè)置為自增屬性。CREATETABLEIFNOTEXISTSorders2(order_idINTPRIMARYKEYAUTO_INCREMENT,customer_idCHAR(3)NOTNULL,addressVARCHAR(45),cityVARCHAR(10),order_dateDATETIME,shipping_dateDATETIME);列級(jí)約束§5.5表結(jié)構(gòu)的創(chuàng)建表orders2創(chuàng)建好之后,使用INSERTINTO語(yǔ)句插入3條記錄。SELECT*FROMorders2;§5.5表結(jié)構(gòu)的創(chuàng)建5.5.7使用自增約束主表必須已經(jīng)存在,或者是當(dāng)前正在創(chuàng)建的表。主表必須定義主鍵,并且從表中外鍵字段的數(shù)目必須和主表的主鍵字段的數(shù)目相同。主表中主鍵不能包含空值,但從表中的外鍵允許出現(xiàn)空值。從表的外鍵必須關(guān)聯(lián)主表的主鍵,并且關(guān)聯(lián)字段的數(shù)據(jù)類(lèi)型必須匹配(相同或者相容),使用的字符集和檢驗(yàn)規(guī)則也要求相同,否則無(wú)法創(chuàng)建外鍵約束,系統(tǒng)會(huì)給出錯(cuò)誤提示信息。外鍵的作用是保持?jǐn)?shù)據(jù)表之間數(shù)據(jù)的一致性和完整性。5.5.8使用外鍵約束主(父)表:一方的表;從(子)表:多方的表;關(guān)聯(lián)字段主鍵外鍵§5.5表結(jié)構(gòu)的創(chuàng)建語(yǔ)法格式:[CONSTRAINT外鍵名]FOREIGNKEY(從表的字段列表)REFERENCES主表名稱(chēng)(主鍵列表)5.5.8使用外鍵約束CONSTRAINT外鍵名:可選項(xiàng),設(shè)置外鍵約束的名稱(chēng),一個(gè)表中不能有相同名稱(chēng)的外鍵約束;主表必須定義主鍵,并且從表種外鍵字段的數(shù)目必須和主表的主鍵字段的數(shù)目相同。從表的字段名列表:需要設(shè)置外鍵約束的字段列表;主表名稱(chēng):被從表外鍵依賴(lài)的主表的名稱(chēng);主鍵列表:主表中定義的主鍵字段(和從表的外鍵相關(guān)聯(lián)的主表的主鍵名稱(chēng))。§5.5表結(jié)構(gòu)的創(chuàng)建【例5.32】在創(chuàng)建訂單表orders時(shí),設(shè)置外鍵約束ky_ord_cust,使得訂單表orders中的字段customer_id與客戶(hù)表customers中的主鍵customer_id關(guān)聯(lián)。

DROPTABLEIFEXISTSorders;CREATETABLEorders(order_idINTPRIMARYKEY,customer_idCHAR(3)NOTNULL,

addressVARCHAR(45),cityVARCHAR(10),order_dateDATETIME,shipping_dateDATETIME,CONSTRAINTky_ord_custFOREIGNKEY(customer_id)REFERENCEScustomers(customer_id));5.5.8使用外鍵約束如果訂單表orders已存在,則執(zhí)行刪除訂單表,否則不執(zhí)行刪除操作?!?.5表結(jié)構(gòu)的創(chuàng)建5.5.9存儲(chǔ)引擎、字符集和校驗(yàn)規(guī)則的設(shè)置ENGINE=存儲(chǔ)引擎類(lèi)型DEFAULTCHARSET=字符集類(lèi)型COLLATE=校驗(yàn)規(guī)則字段名數(shù)據(jù)類(lèi)型[CHARSET字符集類(lèi)型][COLLATE校驗(yàn)規(guī)則]1.對(duì)整個(gè)表設(shè)置存儲(chǔ)引擎、字符集和校驗(yàn)規(guī)則,語(yǔ)法格式如下:2.在字段定義部分添加字符集和校驗(yàn)規(guī)則,語(yǔ)法格式如下:§5.5表結(jié)構(gòu)的創(chuàng)建【例5.33】創(chuàng)建訂單表orders2,并為orders2表設(shè)置存儲(chǔ)引擎為InnoDB、字符集為utf8mb4和校驗(yàn)規(guī)則為utf8mb4_0900_ai_ci。DROPTABLEIFEXISTSorders2;CREATETABLEorders2(order_idINTPRIMARYKEY,customer_idCHAR(3)NOTNULL,addressVARCHAR(45),cityVARCHAR(10),order_dateDATETIME,shipping_dateDATETIME)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci;如果訂單表orders2已存在,則執(zhí)行刪除訂單表,否則不執(zhí)行刪除操作。5.5.9存儲(chǔ)引擎、字符集和校驗(yàn)規(guī)則的設(shè)置§5.5表結(jié)構(gòu)的創(chuàng)建【例5.34】創(chuàng)建訂單表orders2,并為字段customer_id和address設(shè)置字符集gbk和校驗(yàn)規(guī)則gbk_chinese_ci。DROPTABLEIFEXISTSorders2;CREATETABLEorders2(order_idINTPRIMARYKEY,customer_idCHAR(3)CHARSETgbkCOLLATEgbk_chinese_ciNOTNULL,addressVARCHAR(45)CHARSETgbkCOLLATEgbk_chinese_ci,cityVARCHAR(10),order_dateDATETIME,shipping_dateDATETIME);5.5.9存儲(chǔ)引擎、字符集和校驗(yàn)規(guī)則的設(shè)置§5.5表結(jié)構(gòu)的創(chuàng)建使用語(yǔ)句SHOWCREATETABLEorders2\G查看的結(jié)果表信息如下:5.5.9存儲(chǔ)引擎、字符集和校驗(yàn)規(guī)則的設(shè)置city字段使用的是系統(tǒng)的默認(rèn)值utf8mb4和utf8mb4_0900_ai_ci在同一個(gè)數(shù)據(jù)表中不同的字段可以使用不同的字符集和校驗(yàn)規(guī)則§5.5表結(jié)構(gòu)的創(chuàng)建5.5.10創(chuàng)建表用到的約束條件總結(jié)1.列級(jí)完整性約束條件,語(yǔ)法格式如下:字段名數(shù)據(jù)類(lèi)型[列級(jí)約束條件]1)PRIMARYKEY:設(shè)置該字段為主鍵。2)NULL/NOTNULL:設(shè)置的字段允許為空/不允許為空,如果沒(méi)有約束條件,則默認(rèn)為NULL。3)UNIQUE:設(shè)置字段取值唯一,即每條記錄的指定字段的值不能重復(fù)。4)DEFAULT

默認(rèn)值:設(shè)置字段的默認(rèn)值。5)AUTO_INCREMENT:設(shè)置字段的值自動(dòng)增加。6)CHARSET:設(shè)置字段使用的字符集。7)COLLATE:設(shè)置字段使用的校驗(yàn)規(guī)則?!?.5表結(jié)構(gòu)的創(chuàng)建5.5.10創(chuàng)建表用到的約束條件總結(jié)2.表級(jí)完整性約束條件如下:1)PRIMARYKEY用于定義表級(jí)主鍵約束,語(yǔ)法格式如下:[CONSTRAINT約束名]PRIMARYKEY(字段名1,字段名2,…,字段名n)2)FOREIGNKEY用于設(shè)置參照完整性規(guī)則,即指定某字段為外鍵,語(yǔ)法格式如下:[CONSTRAINT約束名]FOREIGNKEY(外鍵)REFERENCES被參照表(主鍵)3)UNIQUE既可用于列級(jí)完整性約束,也可用于表級(jí)完整性約束,語(yǔ)法格式如下:[CONSTRAINT約束名]UNIQUE(字段名)4)存儲(chǔ)引擎的設(shè)置,語(yǔ)法格式如下:ENGINE=存儲(chǔ)引擎類(lèi)型5)字符集和校驗(yàn)規(guī)則的設(shè)置:DEFAULTCHARSET=字符集類(lèi)型COLLATE=校驗(yàn)規(guī)則§5.5表結(jié)構(gòu)的創(chuàng)建使用MySQL語(yǔ)句創(chuàng)建好數(shù)據(jù)表之后,可以用SHOWTABLES語(yǔ)句顯示數(shù)據(jù)庫(kù)中所有的數(shù)據(jù)表的名稱(chēng);(前面介紹過(guò)了)也可以查看表的結(jié)構(gòu),以確定表的定義是否正確,查看表結(jié)構(gòu)可以使用DESCRIBE

和SHOWCREATETABLE語(yǔ)句。5.5.11查看表的結(jié)構(gòu)§5.5表結(jié)構(gòu)的創(chuàng)建5.5.11查看表的結(jié)構(gòu)1.使用DESCRIBE查看表結(jié)構(gòu)。語(yǔ)法格式如下:

DESCRIBE表名;

【例5.35】查看客戶(hù)表customers的表結(jié)構(gòu)。§5.5表結(jié)構(gòu)的創(chuàng)建DESC表名;

等價(jià)于5.5.11查看表的結(jié)構(gòu)2.

使用SHOWCREATETABLE語(yǔ)句查看表結(jié)構(gòu)。語(yǔ)法格式如下:SHOWCREATETABLE表名\G【例5.36】使用SHOWCREATETABLE語(yǔ)句查看客戶(hù)表customers的表結(jié)構(gòu)。SHOWCREATETABLEcustomers\G§5.5表結(jié)構(gòu)的創(chuàng)建\G和;基本等價(jià),在使用SHOWCREATETABLE語(yǔ)句時(shí),使用\G的顯示格式要比;更簡(jiǎn)介修改表指的是修改數(shù)據(jù)庫(kù)中已經(jīng)存在的數(shù)據(jù)表的結(jié)構(gòu)。修改表的操作包括:修改表名、修改字段數(shù)據(jù)類(lèi)型或字段名、增加和刪除字段、修改字段的排列位置、更改表的存儲(chǔ)引擎、刪除表的外鍵約束等。MySQL使用ALTERTABLE語(yǔ)句。在修改表結(jié)構(gòu)時(shí)可以使用DESC語(yǔ)句查看修改是否成功?!?.6數(shù)據(jù)表的修改ALTERTABLE表名{[ADD新字段名

數(shù)據(jù)類(lèi)型[列級(jí)完整性約束條件][FIRST|AFTER已存在字段名]]|[MODIFY字段名1新數(shù)據(jù)類(lèi)型[列級(jí)完整性約束條件][FIRST|AFTER字段名2]]|[CHANGE舊字段名

新字段名

新數(shù)據(jù)類(lèi)型]|[DROP字段名|完整性約束名]|[RENAME[TO]新表名]|[ENGINE=更改后的存儲(chǔ)引擎名]};為指定的表添加一個(gè)新字段對(duì)指定表中字段的數(shù)據(jù)類(lèi)型或完整性約束條件進(jìn)行修改對(duì)指定表中的字段名進(jìn)行改名對(duì)指定表中不需要的字段或完整性約束進(jìn)行刪除對(duì)指定表的表名進(jìn)行重命名對(duì)指定表的存儲(chǔ)引擎進(jìn)行修改有數(shù)據(jù)類(lèi)型的都不能省§5.6數(shù)據(jù)表的修改5.6.1修改數(shù)據(jù)表的名稱(chēng)ALTERTABLE舊表名

RENAME[TO]新表名;【例5.37】將客戶(hù)表customers改名為cust1。ALTERTABLEcustomersRENAMETOcust1;§5.6數(shù)據(jù)表的修改ALTERTABLE表名

MODIFY字段名數(shù)據(jù)類(lèi)型;5.6.2修改字段的數(shù)據(jù)類(lèi)型【例5.38】修改數(shù)據(jù)表cust1中姓名name的長(zhǎng)度改為VARCHAR(30)。ALTERTABLEcust1MODIFYnameVARCHAR(30);不同類(lèi)型的數(shù)據(jù)在機(jī)器中存儲(chǔ)的方式及長(zhǎng)度各不相同,修改數(shù)據(jù)類(lèi)型可能會(huì)影響到數(shù)據(jù)表中已有的數(shù)據(jù)記錄。由原來(lái)的VARCHAR(20)修改為VARCHAR(30)§5.6數(shù)據(jù)表的修改5.6.3修改字段名ALTERTABLE表名

CHANGE舊字段名新字段名新數(shù)據(jù)類(lèi)型;【例5.39】把cust1表的name(姓名)字段名改為cname,類(lèi)型改為varchar(20)。ALTERTABLEcust1CHANGEnamecnameVARCHAR(20);CHANGE也可以只修改數(shù)據(jù)類(lèi)型,實(shí)現(xiàn)M

溫馨提示

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

評(píng)論

0/150

提交評(píng)論