各種指南mysql中文版MySQL目前是最流行的開源關系型數(shù)據(jù)庫管理系統(tǒng)一種_第1頁
各種指南mysql中文版MySQL目前是最流行的開源關系型數(shù)據(jù)庫管理系統(tǒng)一種_第2頁
各種指南mysql中文版MySQL目前是最流行的開源關系型數(shù)據(jù)庫管理系統(tǒng)一種_第3頁
各種指南mysql中文版MySQL目前是最流行的開源關系型數(shù)據(jù)庫管理系統(tǒng)一種_第4頁
各種指南mysql中文版MySQL目前是最流行的開源關系型數(shù)據(jù)庫管理系統(tǒng)一種_第5頁
已閱讀5頁,還剩171頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

適宜的讀者本系列專為初學者量身打造,能夠幫助他們從零開始逐步了解MySQL的相關知識預備要想實際練習本系列中各種范例,讀者該事先道什么是數(shù)據(jù)庫(特別是RDBMS),并且明白何為程語言。編譯/執(zhí)行MySQL假如你想利用DBMS來編譯并執(zhí)行SQL程序,但苦于手頭沒有安裝該系統(tǒng),不要著急。有一個架設于 前 第1 MySQL-MySQL介 MySQL安 MySQL管 MySQLPHP語 連接MySQL服務 創(chuàng)建MySQL數(shù)據(jù) MySQL終止數(shù)據(jù) MySQL選擇數(shù)據(jù) MySQL數(shù)據(jù)類 創(chuàng)建MySQL MySQL下拉 MySQL插入查 MySQL選擇查 MySQLWhere MySQL更新查 MySQL刪除查 MySQLLike MySQL排序結(jié) MySQL正則表達 MySQL匯 MySQLALTER命 MySQL索 MySQL臨時 MySQL MySQL數(shù)據(jù)庫信 MySQLHandling MySQLSQL MySQL數(shù)據(jù)導 MySQL數(shù)據(jù)導 第2 MySQL幫助資 一些有用的MySQL函數(shù)與子 一些非常有用的學習資 第3 附 MySQLBETWEEN子 MySQLCONCAT函 MySQLCOUNT函 MySQLMAX函 MySQLRAND函 MySQL字符串函 MySQLSUM函 MySQL日期與時間方面的函 1MySQL1MySQL介紹因此,在業(yè)一般用關型數(shù)據(jù)管理統(tǒng)(RDMS來并理量據(jù)之以稱為系數(shù)據(jù)庫,是因為所有數(shù)據(jù)都不同的表中,表間的關是建立在主鍵或其他鍵(被為外鍵)能夠?qū)崿F(xiàn)一種具有表、列與能自動更新索引RDBMS在繼續(xù)討論MySQL數(shù)據(jù)庫系統(tǒng)之前,先讓我們來說明一些關于數(shù)據(jù)庫的主鍵(PrimaryKey):主鍵是唯一的。同一張表中不允許出現(xiàn)同樣兩個鍵值。一個鍵值只對應著一外鍵(ForeignKey):用于連接兩張表 MySQL數(shù)據(jù)一家瑞典公司MySQLAB開發(fā)、運營并予以支持。它之所以非常流行,原因在于具備以下這些優(yōu)點:基于開源發(fā)布,無需即可使用可運行于多個操作系統(tǒng),支持多種語言,包括PHP、PERL、C、C++及Java等語言。PHPWeb支持大型數(shù)據(jù)庫,最高可在5千多萬行。每張表的默認文件4GB,不過如果操作系統(tǒng)支持,你可以將其理論限制增加到800萬TB。本教學重點在于利PHPMySQL,所以很多實PHP程序員來說非常實用。對于不熟悉PHP的讀者,我們強烈建議您讀一讀PHP教學( 。MySQL安裝MySQLMySQL的全部都在這個頁面:MySQL(ht ySQLCommunityServer版本號,并且盡可能準確地選擇所需平臺。在Linux/Unix在Linux系統(tǒng)上安裝MySQL,建議采用RPM形式進行安裝。MySQLAB在其上提供了以下幾種MySQLMySQL數(shù)據(jù)庫服務器,用于管理數(shù)據(jù)庫與表,控制用戶,以及處理SQL查詢 MySQLMySQL-devel編譯使用MySQLMySQL-bench用于MySQLMySQLRPMLinuxSuSE但它們一般也能輕Linux系統(tǒng)上。切換到含有RPM文件包 [root@host]#rpm-iMySQL-5.0.9-上面令安裝MySQL服務器,創(chuàng)建了一個MySQL用戶,進行了必要的配置,并開始自動啟動usr/binusr/sbin找到MySQL有的相關庫。創(chuàng)建的所有的表和數(shù)據(jù)庫都-5.0.9-0.i386.rpm-5.0.9-0.i386.rpm[root@host]#rpm-iMySQL-devel-5.0.9-[root@host]#rpm-i6.rpm[root@host]#rpm-iMySQL-shared-5.0.9-0.i386.rpm[root@host]#rpm-iMySQL-h-5.0.9-在Windows安裝現(xiàn)在,Windows下的MySQL式都比過去容易多了,因為已經(jīng)利用安裝程 ,然后運行setup.exe就可以了。默認的安裝程序setup.exe能幫你打理瑣碎的安裝過程,同時默認安裝在C:\mysql 首次測試服務器,可以采用命令行方式。找到mysqld務器的位置(可能位于C:\mysql\bin),輸入如下命mysqld.exe--不出意外的話,你就會看到一些關于啟動和InnoDB的信息。如果沒有出現(xiàn)這類信息,那么可能是因為你的權(quán)限有問題。確保所有用戶(可能是mysql)都能數(shù)據(jù)的 此,假如你喜歡mysqld動服務器,那么當要關閉服務器時,記得要手動借助mysqladmin、任務列表、任務管理器或者Windows的一些方法來進行。MySQL安裝成功安裝完MySQL后,就會初始化基表,啟動服務器??梢酝ㄟ^一些簡單的測試來驗證安裝是否一使用myqladmin工具來獲取服務器狀[root@host]#mysqladmin--Linux述命令可能會產(chǎn)生如下結(jié)果。根據(jù)你安裝Linux本的差異,結(jié)果也可能會有些許mysqladminVer8.23Distrib5.0.9-0,forredhat-linux-gnuon你可以通過在MySQL客戶端上使用mysql命令去連接MySQL服務器。這時,不需要輸入任何,因為默認[root@host]#mlmysql>表明你已經(jīng)連接上了MySQL器,可以在提示符后輸入一些SQLmysql>mysql>SHOW+|Database+| ++| 對于根用戶,MySQL初始是不需要的。一旦成功安裝好數(shù)據(jù)庫和客戶端后,你就需要設置一個根用戶密[root@host]#mysqladmin-urootpassword[root@host]#[root@host]#mysql-uroot-pEnterpassword:******* 次手動輸入路徑全稱了。對于bashs來說,應該這樣設置:export啟動時運行如果想讓MySQL系統(tǒng)啟動時自動運行,則可以etc/rc.local中加入下列項另外,在 中必須存在mysqld工具MySQL管理運行與關閉MySQL查ps-ef|greproot@host#cdroot@host#cd./safe_mysqld如果想關閉正在MySQL用如root@host#cdroot@host#cd./mysqladmin-uroot-pshutdownEnterpassword:******建立MySQL戶賬添加新的MySQL在數(shù)據(jù)庫mysqluser新項3。SQLroot@host#root@host#mysql-uroot-pEnterpassword:*******mysql>usemysql;Databasemysql>INSERTINTOuser(host,user,password,select_priv,insert_priv,update_priv)VALUES('localhost','guest',PASSWORD('guest123'),'Y','Y','Y');QueryOK,1rowaffected(0.20mysql>FLUSHQueryOK,1rowaffected(0.01mysql>mysql>SELECThost,user,passwordFROMuserWHEREuser=+|++|user|+++|++|localhost|guest|6f8c114b58f2ce9e 在添加新用戶時,記住要用MySQL提供的ASSORD()函數(shù)對該用戶的進行加理。如上例所示,mypass被加密成了6f8c114b58f2ce9e。注意這里所用的FLUSHPRIVILEGES語句。它讓服務器重新加載表。如果不使用它,就至少得等到服務器重新啟動后,才能使用新用戶賬號連接mysql。你也可以為新用戶指定其他權(quán)限,在執(zhí)行INSERT查詢時,將用戶表中的下面這些列的值都設為Y’,或者使UPDATE查詢稍后對它們進行更新。為zara的新用戶,其為zara123。如下所示:root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>usemysql;Databasemysql>GRANT->ON->TO->IDENTIFIEDBY這會在mysql據(jù)庫的user中創(chuàng)建一個SQL()結(jié)束的話,MySQL這個配 f文 用于MySQL的一些USEDatabasename用于在MySQLSHOWDATABASES列出MySQLDBMS所能的數(shù)據(jù)庫SHOWTABLES庫被useSHOWCOLUMNSFROMtablenameNULLSHOWTABLESTATUSLKEaleneG報告MySQLDBMS的性能及統(tǒng)計的細節(jié)信MySQLPHP語MySQL很好地適用于多種編程語言,比如PERL、C、C++、JAVA,PHP。由于可以開發(fā)Web應用程序,PHP是其中最流行的一門語言。程:PERL與MySQLPHP提供了多種能夠MySQL數(shù)據(jù)庫并且數(shù)據(jù)記錄的函數(shù)。這些函數(shù)的調(diào)用方式就跟其他PHP函數(shù)一函數(shù)名稱的第二部分是函數(shù)所專有的,通常是一個描述函數(shù)行為的詞。下面是中將會用到的兩個函數(shù)mysqli_query($connect,"SQLstatement");if(!$retval){}//OtherwiseMySQLorPHP MySQL下面這個例子顯示如何采用命令MySQL器[root@host]#[root@host]#mysql-uroot-pEnterpassword:******上述命令將顯示mysql提示符。在該命令提示符后面,可以執(zhí)行任何SQL面就是上述命令的顯eetotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionid toserverversion:部SQL操作。mysql>mysql>exit使用PHP連接通過PHPmysql_connect()函數(shù),可以開啟數(shù)據(jù)庫連接。該函數(shù)有5個參數(shù)。當成功連接后,該函數(shù)返回一個MySQL連接標識;如連接失敗,則返回FALSE。語法connection 可選參數(shù)。運行可選參數(shù)。運行數(shù)據(jù)庫服務器的主機名。如未指定,則默認值ht0可選參數(shù)。用戶數(shù)據(jù)庫所用。如未指定,則默認沒有可選參數(shù)。如果利用同樣的參數(shù)第二次調(diào)用mysql_connect(),則不會建立新的連接,而????MYSQL__SSL——使用SSL加密通過PHPmysql_close隨時可以中斷與MySQL接。該函數(shù)只有一個m語法下面通過一個具體的范例來實際了解如何連接MySQL<title>ConnectingMySQL$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}echo'Connectedsuccessfully';MySQL使用mysqladmin創(chuàng)建數(shù)據(jù)庫創(chuàng)建或刪除數(shù)據(jù)庫需要擁有特殊的權(quán)限。假設你獲得了root用戶權(quán)限,那mysqladmin令可以創(chuàng)建下面就來創(chuàng)建一個名叫TUTORIALS的數(shù)據(jù)庫:[root@host]#[root@host]#mysqladmin-uroot-pcreateTUTORIALSEnterpassword:******通過上述命令,就創(chuàng)建好了一個名叫TUTORIALSMySQL利用PHP創(chuàng)建數(shù)據(jù)boolmysql_query(sql,connection必需參數(shù)。創(chuàng)建MySQL用的SQL命令可選參數(shù)。如未指定,將使用最后一個由mysql_connect通過下面這個范例來了解如<title>Creating<title>CreatingMySQL$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){die('Couldnotconnect:'.}echo'Connectedsuccessfully<br$sql='CREATEDATABASE$retval=mysql_query($sql,$conn);if(!$retval){die('Couldnotcreatedatabase:'.}echo"DatabaseTUTORIALScreatedsuccessfully\n";MySQL終止數(shù)據(jù)庫利用mysqladmin刪除MySQL同上一節(jié)的情況完全一樣,創(chuàng)建或刪除MySQL數(shù)據(jù)庫需要特殊的權(quán)限。假了root用戶權(quán)限,那就可以[root@host]#[root@host]#mysqladmin-uroot-pdropTUTORIALSEnterpassword:******thedatabaseispotentiallyaverybadthingtoAnydatastoredinthedatabasewillbeDoyoureallywanttodropthe'TUTORIALS'database[y/N]Database"TUTORIALS"使用PHP刪除數(shù)據(jù)PHPmysql_query或刪MySQL據(jù)庫。該函數(shù)包含兩個參數(shù),如果成功執(zhí)行操作,返回TRUE,否則返回FALSE。boolmysql_query(sql,connection下面這個范例展示了如何刪<title>Deleting<title>DeletingMySQL$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){die('Couldnotconnect:'.}echo'Connectedsuccessfully<br$sql='DROPDATABASE$retval=mysql_query($sql,$conn);if(!$retval){die('Couldnotdeletedatabase:'.}echo"DatabaseTUTORIALSdeletedsuccessfully\n";警告:在利用 MySQL選擇數(shù)據(jù)庫一旦連接上了yQL接在MySQL服務器上。利用命令行方式選擇MySQL通過mysql>提示符來選擇數(shù)據(jù)庫是一種非常簡單的方法??梢允褂肧QL命令use來選擇某個數(shù)據(jù)庫下面這個范例展示了如何選擇一個名為TUORIALS[root@host]#[root@host]#mysql-uroot-pEnterpassword:******mysql>useTUTORIALS;Databasechanged注意:所有的數(shù)據(jù)庫名稱、表名、表字段名都是對大小寫敏感的,因此使用SQL稱。使用PHP選擇MySQL數(shù)據(jù)PHP通過l函數(shù)來選擇數(shù)據(jù)庫。如果成功完成操作,返回TRUE,否則返回FALSEboolmysql_select_db(db_nam,connection必需參數(shù)。要選擇的MySQL可選參數(shù)。如未指定,則將使用mysql_connect最后打開的接<title>SelectingMySQL$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}echo'Connectedsuccessfully';mysql_select_db('TUTORIALS');MySQL字符的寬度,就字段定義為10個字符寬。字段(或者說列)的類型也被稱為數(shù)據(jù)類型。MySQL使用標ANSISQL數(shù)字類型,所以如果你在學習MySQL之前,接觸過其他數(shù)據(jù)庫系統(tǒng),那么肯定 TINYINT非常小的整數(shù),分為有無符號兩種。前有符號時,其允許取值范圍是-128~127;范圍為0~255。所以,最高可指定4位數(shù)字。SMALLINT較小的整數(shù),分為有無符號兩種。前有符號時,其允許取值范圍是-32768~32767;無符號時0~553MDUMINT中型大小的整數(shù),分為有無符號兩種。前有符號時,其允許取值范圍是- FLOAT(M,D)M,D代表小數(shù)位數(shù)。這兩個參數(shù)都不是必需參數(shù),它們默認為10,2,表示小數(shù)點后有2位數(shù)字,而整個數(shù)字的位數(shù)為10(包含小數(shù)位數(shù))。FLOAT類型的小數(shù)精D不帶符號的雙精度浮點數(shù)。M代表顯示長度,D代表小數(shù)位數(shù)。這兩個參數(shù)都不是必需參數(shù),它們默認為16,4,表示小數(shù)點后有4位數(shù)字,而整個數(shù)字的位數(shù)為16(包含小數(shù)位數(shù))。DOUBLE類型的小數(shù)精度可以達到53位。DOUBLE與REAL同義。顯示長度(M)和小數(shù)位數(shù)(D)。DECIMAL與NUMERIC同義。MySQL包含以下幾種年的月日就存1973-12-30DATETIME按照YYYY-MM-DDHH:MM:SS1000-01-0100M介于 日凌晨與年某個時間點之間的一種時間戳。這種格式與之前的DATETIME格式相仿,只不過少了數(shù)字間的連字符。年月日下午:30被存為19731230153000(YYYY 4雖然數(shù)字與日期類型都很有趣,但通常我們最多的就是字符串了。下面列出了MySQL中常見的字符串類CHAR(M)長度固定的字符串,長度范圍從1~255個字符,比如CHAR(5)。在時,會向右用空格補齊指VARCHAR(M)長度不定的字符串,長度范圍從1~255個字符。比如:CHAR(25)。在創(chuàng)建VARCHAR字BLOBorTEXT最大長度為65535個字符的字段。BLOB是BinaryLargeObjects(二進制大型對象)的縮寫,于保存大量的二進制數(shù)據(jù),比如或其他類型的文件。TEXT類型的文件也能保存大型數(shù)TINYBLOBorTINYTEXT最大長度為255個字符的BLOBTEXTMEDIUMBLOBorT最大長度為個字符的BLOBTEXT字段。同樣也不能指LONGBLOBorLONGTEXT最大長度為 個字符的BLOB或TEXT字段。同樣也不能指定ENUM枚舉類型,是一種很獨特的列表類型。ENUM選擇這些值(包括NULL值)"A"、"B"和"C",EUM('A'B''C'),只有這些值(或NULL值)能夠填充到該字段中創(chuàng)建MySQL創(chuàng)建表令需要表字段每一字段的定CREATETABLEtable_name(column_name然后在TUTORIALS數(shù)據(jù)庫創(chuàng)建如下表tutorial_idINTNOTNULLAUTO_INCREMENT,tutorial_titleVARCHAR(100)NOTNULL,tutorial_authorVARCHAR(40)NOTNULL,submission_dateDATE,PRIMARYKEY(tutorial_id這里需要解釋的使用字段屬性NOTNULLMySQL就字段屬性UTO_INCEMENT告訴MySQL續(xù)為id關鍵PRIMARYKEY 式。使用SQL命令CREATETABLE即可創(chuàng)建一個表范在下面這個范例中,創(chuàng)建了tutorials_tblroot@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>CREATETABLE->tutorial_idINTNOTNULL->tutorial_titleVARCHAR(100)NOT->tutorial_authorVARCHAR(40)NOT->submission_date->PRIMARYKEY(tutorial_id->QueryOK,0rowsaffected(0.16sec)注意:只有在SQL命令末尾加上分號(;)才能終止這個命令利用PHP創(chuàng)建在已有的數(shù)據(jù)庫中創(chuàng)建新表,可PHPyq_query()函數(shù)。利用正確的SQL命令為其傳入第二個參范 <title>CreatingMySQL$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){die('Coulddie('Couldnotconnect:'.}echo'Connectedsuccessfully<br$sql="CREATETABLEtutorials_tbl("."tutorial_idINTNOTNULLAUTO_INCREMENT,"."tutorial_titleVARCHAR(100)NOTNULL,"."tutorial_authorVARCHAR(40)NOTNULL,"."submission_dateDATE,"."PRIMARYKEY(tutorial_id));";mysql_select_db('TUTORIALS');$retval=mysql_query($sql,$conn);if(!$retval){}echo"Tablecreatedsuccessfully\n";MySQL刪除已有的MySQL表是很容易的,但你要非常,因為刪除了表,就無法恢復數(shù)據(jù)了DROPTABLEtable_name范在以下范例中,刪除了表tutorials_tblroot@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>DROPTABLEtutorials_tblQueryOK,0rowsaffected(0.8sec)利用PHP刪除ysl_uey范<title>CreatingMySQL$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){die('Couldnotconnect:'.}echo'Connectedsuccessfully<br$sql="DROPTABLEtutorials_tbl";mysql_select_db('TUTORIALS');$retval=mysql_query($sql,$conn);if(!$retval){die('Couldnotdeletetable:'.}MySQL可以使用PHP等來完成。利用INSERTINTO數(shù)據(jù)INSERTINSERTINTOtable_name(field1,field2,...fieldN)要想插入字符串類型的數(shù)據(jù),需要把值引號或單引號包括起來,比如:"value"使用INSERTINTOtutorials_tbl插入數(shù)據(jù)范 為表tutorials_tbl創(chuàng)建3條記錄root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>INSERTINTO->(tutorial_title,tutorial_author,-->("LearnPHP","JohnPoul",NOW());QueryOK,1rowaffected(0.01sec)mysql>INSERTINTOtutorials_tbl->(tutorial_title,tutorial_author,-->("LearnMySQL","AbdulS",QueryOK,1rowaffected(0.01sec)mysql>INSERTINTO->(tutorial_title,tutorial_author,>("JAVATutorial","Sanjay",'2007-05-QueryOK,1rowaffected(0.01sec)注意:代碼中的箭頭符號(->)不屬于SQL命令。它們只是用來表示換行,如果我們在每行命令末尾不添加分號(;),按下回車鍵時,MySQL命令提示符就會自動創(chuàng)建出這個符號。在上tutorial_id,因為在創(chuàng)建表時,已為該字段提供了AUTO_INCREMENT選項。因此MySQL會自動知道插入ID。NOW()是一個能夠返回當前日期與時間的MySQL函數(shù)。利用PHP插入數(shù)同樣,也可以在PHPmysql_querySQL命令INSERTINTOMySQL據(jù)。在下面這個范例中,從用戶那里接收3個參數(shù),然后將這些參數(shù)插入到MySQL表中<title>AddNewRecordinMySQL{$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){die('Couldnotconnect:'.}if(!get_magic_quotes_gpc(){$tutorial_title=addslashes$tutorial_author=addslashes}{$tutorial_title=$tutorial_author=}$submission_date=$sql="INSERTINTOtutorials_tbl"."(tutorial_title,tutorial_author,submission_date)"."VALUES".$retval=mysql_query($sql,$conn);if(!$retval){die('Couldnotenterdata:'.}echo"Entereddatasuccessfully\n";}{<formmethod="post"action="<?php$_PHP_SELF<tablewidth="600"border="0"cellspacing="1"<tdwidth="250">Tutorial<inputname="tutorial_title"type="text"<tdwidth="250">Tutorial<inputname="tutorial_author"type="text"<tdwidth="250">SubmissionDate[yyyy-mm-dd<inputname="submission_date"type="text"<tdwidth="250"><td><tdwidth="250"><inputname="add"type="submit"id="add"value="Add}在輸入數(shù)據(jù)時,使用函數(shù)get_agi_qute_gp()false,用addslashes()在引號前添加反斜杠。 MySQLPHP等來完成[WHEREClause][OFFSETM][LIMITWHEREWHERE不是SELECT可以用星型符號(*)代替字段。這時,SELECTWHERE在SELECT將要返回記錄的位置處,使用OFFSET0可以使用LIMIT屬性來限制返回記錄的數(shù)量SELECT令從tutorials_tbl取數(shù)據(jù)范下面這個范tutorials_tbl的所有記錄root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>SELECT*from ++11|Learn|JAVATutorial|Sanjay3rowsinset(0.01sec)使用PHP獲取數(shù)同樣,也可以在msql_uery()函數(shù)中使用SQL命令SELECT。該函數(shù)用于執(zhí)行SQL命令。隨后另一個PHP數(shù)ysl_etch_array()會獲取所有選定的數(shù)據(jù),該函數(shù)會將行以關聯(lián)數(shù)組或數(shù)值數(shù)組返回,或者還可能同時返回以上兩種形式。如果再也沒有行,則該函數(shù)返回FALSE。下面通過一個簡單的范例來了解如何獲取tutorials_tbl范下面這個范tutorials_tbl的所有記錄$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}FROM$retval=mysql_query($sql,$conn);if(!$retval){}while($row=mysql_fetch_array($retval,{{echo"TutorialID:{$row['tutorial_id']}<br>"."Title:{$row['tutorial_title']}<br>"."Author:{$row['tutorial_author']}<br>"."SubmissionDate:{$row['submission_date']}<br>". }echo"Fetcheddatasuccessfully\n";行的內(nèi)容被賦給$row,隨后輸出行注意:一定要記住,在把一個數(shù)組值直接插入到字符串中時,一定要加花括號(與)在上面的例子中,常量MYSQL_ASSOC被用作PHP函數(shù)mysql_fetch_array()的第二個參數(shù),因此才會將()范$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}FROM$retval=mysql_query($sql,$conn);if(!$retval){}while($row={echoecho"TutorialID:{$row['tutorial_id']}<br>"."Title:{$row['tutorial_title']}<br>"."Author:{$row['tutorial_author']}<br>"."SubmissionDate:{$row['submission_date']}<br>". }echo"Fetcheddatasuccessfully\n";你可以使用常量MYSQL_NUM作為mysql_fetch_array()函數(shù)的第二個參數(shù)。這能讓函數(shù)返回一個帶有數(shù)字范在下面的范例中,使用參數(shù)MYSQL_NUM來顯示表tutorials_tbl中的所有記錄$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}FROM$retval=mysql_query($sql,$conn);if(!$retval){}while($row={"Title:{$row[1]}<br>"."Author:{$row[2]}<br>"."SubmissionDate:{$row[3]}<br>".}echoecho"Fetcheddatasuccessfully\n";在每個SELECT語句末尾釋放游標內(nèi)存是一個非常好的做法。使用PHP函數(shù)mysql__result()就可以實范$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}FROM$retval=mysql_query($sql,$conn);if(!$retval){}while($row={"Title:{$row[1]}<br>"."Author:{$row[2]}<br>"."SubmissionDate:{$row[3]}<br>".} echo"FetcheddataMySQLW前面介紹了利用SELECT中獲取數(shù)據(jù)。利用一種叫做WHERE子句的條件子句可以WHERE子句可以制定選擇規(guī)則,從表中選擇我們所需的記錄[WHEREcondition1[AND[OR]]condition2可以使用逗號分隔一個或多個表,從而在使用WHEREWHERE并非SELECT命令的一個可選部分??梢酝ㄟ^ANDOR下面這張表列出了WHERE子句中使假設A10字段B存著20,那么(AB)非(AB)非(AB)為(AB)非(AB)為WHERE以非常方便地獲取表中選定的行,尤其與MySQLJoin用時。Join稍后將擇章另述。使用SQLSELECTWHEREtutorials_tbl定數(shù)范以下范例將返回表tutorials_tbl作者名稱(authorname)為Sanjay錄root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>SELECT*fromtutorials_tblWHERE +|tutorial_id|tutorial_title|tutorial_author|submission_date 3|JAVATutorial| +|2007-05-+++|++1rowsinset(0.01除非對字符串采用LIKE否則默認比對是不區(qū)分大小寫的。要想讓搜索對大小寫敏感,可以如下例一般,使用BNRYroot@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;DatabaseWHEREBINARYtutorial_author='sanjay';Emptyset(0.02sec)使用PHP來獲取數(shù)要想獲取表中數(shù)據(jù),也可PHP函數(shù)ue同時配合使SQLSELECTmysql_query執(zhí)行SQL令,再用另一PHPmysql_fetch_array定據(jù)。mysql_fetch_array會將行以關聯(lián)數(shù)組、數(shù)值數(shù)組,或者兩種兼有》》的形式返回。如果未選定任何數(shù)據(jù),則該函數(shù)返回FALSE。范以下范例將返回tutorials_tbl中作者名為Sanjay所有記錄$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){die('Couldnotconnect:'.}$sql='SELECTtutorial_id,tutorial_title,tutorial_author,FROMWHERE$retval=mysql_query($sql,$conn);if(!$retval){die('Couldnotgetdata:'.}while($row=mysql_fetch_array($retval,{echo"TutorialID:{$row['tutorial_id']}<br>"."Title:{$row['tutorial_title']}<br>"."Author:{$row['tutorial_author']}<br>"."SubmissionDate:{$row['submission_date']}<br>". }echo"Fetcheddatasuccessfully\n";MySQL有時,MySQL的已有數(shù)據(jù)可能需要修改,可SQLUPDATE命令來處理。它會修改MySQL表中利用UPDATE命令修改MySQL中數(shù)據(jù)的一般語法格UPDATEUPDATEtable_nameSETfield1=new-value1,field2=new-value2[WHEREClause]可以一起更新一個或多個字WHERE可以每次僅更新一張表中的在需要更新表中選定行時,WHERE子句是下面使用SQL的UPDATE命令,再配合WHERE子句,來更新MySQL表tutorials_tbl中的選定數(shù)范root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>UPDATE->WHEREQueryOK,1rowaffected(0.04Rowsmatched:1Changed:1Warnings:使用PHP來更新數(shù)同樣,也可以PHPy()函數(shù)中使SQLUPDATE命令和(或不用)WHERE子句。該函數(shù)執(zhí)SQL命令的方式mysql命令行方式相同。范$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}$sql='UPDATEWHEREtutorial_id=3';$retval=mysql_query($sql,$conn);if(!$retval){die('Couldnotupdatedata:'.}echo"Updateddatasuccessfully\n";MySQL如果想MySQL中刪除記錄,就要用SQLDELETEFROM。可以在命令行中使用該命令,也可以在PHP中使用它。DELETEFROMtable_name[WHERE如果未指定WHEREWHERE在刪除表中選定的行時,WHERE子句是非范root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>DELETEFROMtutorials_tblWHEREtutorial_id=3;QueryOK,1rowaffected(0.23sec)利用PHP來刪除數(shù)可以使PHPmysql_query()函數(shù),配SQLDELETE命令以及WHERE句(也可以不句)刪除數(shù)據(jù)。mysql_query()函數(shù)執(zhí)行SQL命令的方式類似于上面講到令行方式范$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}$sql='DELETEFROMtutorials_tblWHEREtutorial_id=3';$retval=mysql_query($sql,$conn);if(!$retval){}echo"Deleteddatasuccessfully\n";MySQLLikese前面幾節(jié)講解了如何利SQLSELECT令來獲MySQL表中的數(shù)據(jù),以及如何利用WHERE子句這種當我們需要進行精確匹配時,可以在WHERE子句中加入等號(=)iftutorial_author'Sanjay'if條件語句一樣。但有時我們會想在所有的結(jié)果tutorial_author包含"jay"符的結(jié)果。這時就應該利用SQL的LIKE子句搭配WHERE子句來解決。如果SQLLIKE句帶有%字符,則相UNIX(*),在命令行中列出所有的文件或目如果LIKE%字符WHERE的情SELECTSELECTfield1,field2,...fieldNtable_name1,table_name2...WHEREfield1LIKEcondition1[AND[OR]]filed2='somevalue'WHERE件可以搭配使用LIKE句與WHERE子句LIKEWHERELIKE(%)時,會按照元字符搜索那樣執(zhí)行使用ANDORLIKESQLSELECTWHERE...LIKE組合MySQLtutorials_tbl取選定范下面這個范例將返回表tutorials_tbl作者名結(jié)尾帶有jay的所有記錄root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>SELECT*from->WHEREtutorial_authorLIKE ++|tutorial_id|tutorial_title|tutorial_author|submission_date 3|JAVATutorial| +|2007-05-+++|++1rowsinset(0.01在 中使用LIKE子RE...LIKESELECT令一起使用,那么先利mysql_query(函數(shù)執(zhí)SQL然PHPmysql_fetch_array獲取所有的數(shù)據(jù)但如WHERE...LIKE子句組合是DELETEUPDATE命令一起使用的話,就不需要再調(diào)PHP函數(shù)范下面這個范例將返回表tutorials_tbl作者名包含jay的記錄$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}}$sql='SELECTtutorial_id,tutorial_title,FROMWHEREtutorial_authorLIKE$retval=mysql_query($sql,$conn);if(!$retval){}while($row=mysql_fetch_array($retval,{echo"TutorialID:{$row['tutorial_id']}<br>"."Title:{$row['tutorial_title']}<br>"."Author:{$row['tutorial_author']}<br>"."SubmissionDate:{$row['submission_date']}<br>". }echo"Fetcheddatasuccessfully\n";MySQL利用SQLSELECTORDERBY對MySQLSELECTSELECTfield1,field2,...fieldNtable_name1,table_name2...ORDERBYfield1,[field2...][ASC[DESC]]可以對多個字段的返回結(jié)果通常可使用WHERE...LIKE子句設置條件在命令行中使ORDERBY范在PHP中使用ORDERBY子除了在命令行中使用外,我們也可以在PHP函數(shù)mysql_query中使用ORDERBY語法都是相同的。先用mysql_query()執(zhí)行SQL命令,然后再用PHP函數(shù)mysql_fetch_array()獲取所有選范下面這個范例將按升序排列作者名稱(tutorial_author)$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){die('Couldnotconnect:'.}$sql='SELECTtutorial_id,tutorial_title,tutorial_author,FROMORDERBYtutorial_author$retval=mysql_query($sql,$conn);if(!$retval){die('Couldnotgetdata:'.}while($row=mysql_fetch_array($retval,{echo"TutorialID:{$row['tutorial_id']}<br>"."Title:{$row['tutorial_title']}<br>"."SubmissionDate:{$row['submission_date']}<br>". }echo"Fetcheddatasuccessfully\n";MySQLUsing迄今為止,我們每次只能從一張表里獲取數(shù)據(jù)。這足以應付簡單的任務了,但大多數(shù)真實的MySQL應用場景卻在一個SQL查詢中使用多張表,聯(lián)結(jié)(join)行為在MySQL數(shù)據(jù)庫中指的就是將2張或的表合為一張表假設數(shù)據(jù)庫TUTORIALS中有兩張表:tcount_tbl和tutorials_tbl。完整的代碼如下所示范 Tutorial33rowsinset(0.00sec)上例SQL詢將兩張表聯(lián)結(jié)到一起。這次查詢選擇了表utorials_tbl中所有的作者,然后獲tcount_tbl中這些作者相應的數(shù)量。||1|John 3| 11在 中使用可以在PHP中使用以前學到過的任何一種SQL查詢。只需要將SQL查詢傳入PHP函數(shù)mysql_query()中,就能按照之前的方式獲得結(jié)果。范相關范例如下$dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}FROMtutorials_tbla,tcount_tblbWHEREa.tutorial_author=$retval=mysql_query($sql,$conn);if(!$retval){{die('Couldnotgetdata:'.}while($row=mysql_fetch_array($retval,{echo"Author:{$row['tutorial_author']}<br>"."Count:{$row['tutorial_count']}<br>"."TutorialID:{$row['tutorial_id']}<br>". }echo"Fetcheddatasuccessfully\n";MySQL的左聯(lián)結(jié)(LEFTMySQL的左聯(lián)結(jié)(LEFTJOIN)與簡單使用JOIN的效果不范|1|John|1||2|Abdul3|||NULL1MySQLNULLa前面已經(jīng)介紹了如何利SQLSELECT命令配合WHERE句來獲取MySQL表中的數(shù)據(jù),但假如嘗試給為了處理這種情況,MySQL提供了三種運算符ISNULLNULLtrueISNOTNULL:如果列值不為NULLtrue<=>:該運算符用于兩個值的對比,當兩個值相等時(即使這兩NULL這一點與=運算符不同)true。包含NULL的條件都是比較特殊的。不能在列中使用NULLNULL來尋NULL通常都是失敗的,因為不可能得知這樣的比對是否為真。即使NULLNULL失敗。在命令行中使用NULL假設數(shù)據(jù)庫TUTORIALS含一張叫做tcount_tbl的表,這張表包含tutorial_authortutorial_count,則tutorial_count中出現(xiàn)的NULL值代表該字段值未知。范請看下面這個范root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>createtable->->tutorial_authorvarchar(40)NOT->tutorial_count->QueryOK,0rowsaffected(0.05sec)mysql>INSERTINTOtcount_tbl->->(tutorial_author,tutorial_count)values('mahnaz',NULL);mysql>INSERTINTOtcount_tblmysql>INSERTINTO2020下面,你會發(fā)并不適用NULL值mysql>mysql>SELECT*FROMtcount_tblWHEREtutorial_count=NULL;Emptyset(0.00sec)mysql>SELECT*FROMtcount_tblWHEREtutorial_count!=NULL;Emptyset(0.01sec)所以,要想確定tutorial_count列中到底何值為NULL,何值不為NULL,查詢應該++2rowsinset(0.00++在PHP中處理NULL范 $dbhost=$dbuser=$dbpass=$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){}{$sql='SELECTtutorial_author,tutorial_countFROMtcount_tblWHEREtutorial_count=}{$sql='SELECTtutorial_author,tutorial_countFROMtcount_tblWHEREtutorial_countIS}$retval=mysql_query($sql,$conn);if(!$retval){}while($row=mysql_fetch_array($retval,{"Count:{$row['tutorial_count']}<br>".""}echo"Fetcheddatasuccessfully\n";MySQL正則表達式前面介紹過MySQL。MySQL還支持另一種基于正則表達式的模式匹配操作,使用的運算符是REGEXP。如果你學過PHP或PERL,那么這就很好理解了,因為這里講的這種匹配方式跟那些語言中的正則表達式很下面就是一個模式列表,其中結(jié)合使用了REGEXP符字符串的開始位單個一對方括號之間未在一對方括號匹配前面元素的零個或多個匹配前面元素的一個或多個根據(jù)以上這張列表,可以設計出能夠滿足各SQL查詢。下面就來列舉一二。假設有一張表_tbl,mysql>SELECTname _blWHEREnameREGEXPok'查詢mysql>SELECTname _blWHEREnameREGEXP尋找包含'mar'的名稱,查詢?nèi)缦耺ysql>SELECTname _tblWHEREnameREGEXP尋找以元音字母開始并以'ok'結(jié)尾的名稱,查詢?nèi)缦耺ysql>SELECTname_tblWHEREnameREGEXPMySQL匯報成,否則事務不會結(jié)束。如果事務中的某一個操作失敗,則整個事務也將失敗。實際上,將在一個組中結(jié)合許多SQL查詢,你將同時執(zhí)行所有的事務,作為事務的事務一般具有以下4種典型特點,人們通常會用這4種特點的英文首字母縮寫組合詞ACID來表示(((MySQL中,事務通常以BEGINWORK語句開始COMMITROLLBACK(只取其一)語句結(jié)COMMITMySQL事務主COMMIT成功完成一個事務后,就會執(zhí)行COMMIT命令,從而使施加于所涉及的表上的改變?nèi)绻聞帐。蜁?zhí)行ROLLBACK命令,將事務中所的每一個表都回撤到之前的狀態(tài) MIT可以控制事務行為。如果 設為0(通過命令SET 可以在PHP中利用mysql_query()執(zhí)行SQL命令。通過執(zhí)行SQL命令BEGINWORK務執(zhí)行一個或的如下SQL命令:SELECT、INSERT、UPDATE或DELETEROLLBACKCOMMITMySQL中的事務安全型不能直接使用事務,如果強行使用,則無法保證它們的安全性。如果打算在MySQL編程中使用事務,就需要以特殊的方式來創(chuàng)建表。有很多種支持事務表可供選擇,但其中最常見的是InnoDB。對InnoDB支持,需要在編譯MySQL源碼時用到一個特殊的編譯參數(shù)。如果MySQL本不支持InnoDB,則需要請你的ISP構(gòu)建一個支持InnoDB表類型的MySQL版本,或者安裝一個用于Windows或Linux/UNIX系統(tǒng)的MySQL-Max二進制分發(fā)版,在其開發(fā)環(huán)境中使用這種表類型。如果你的MySQL本支InnoDB需在表創(chuàng)建TYPEInnoDB義即可。比root@host#root@host#mysql-uroot-pEnterpassword:*******mysql>useTUTORIALS;Databasemysql>createtable->->tutorial_authorvarchar(40)NOT->tutorial_count->)QueryOK,0rowsaffected(0.05有關InnoDB的詳細信息,可參看這個MySQLALTER為了實踐ALTER面先來創(chuàng)建一個名為testalter_tbl表。mysql>mysql>createtable( 假如要從上面我們創(chuàng)建的這張表中刪除i么應該使用DROP子句和ALTER命令,如下所mysql>ALTERTABLEtestalter_tblDROP如果表中只有一DROP作用mysql>ALTERTABLEtestalter_tblADDi末尾。在創(chuàng)建表時,i是第一列,現(xiàn)在卻成為最后一列。mysql>mysql>SHOWCOLUMNSFROM ++||Field|Type|Null|Key|Default|Extra+||++++|+++|char(1)|YES ||int(11)|YES ||||++++++2rowsinset(0.00要想把列放到一個特定位置,可以使用兩種方法。第法是使用FIRST,讓指定列成為第一列;第二種則采AFTER后跟給定列名的方式,指示新列應該放到給定列名的后面。下面分別利用ALTERTABLE語句對列進行操作,每執(zhí)行完一行后,我們可以使用SHOWCOLUMNS來查看一下各自的效果。ALTERALTERTABLEtestalter_tblDROPALTERTABLEtestalter_tblADDiINTFIRST;ALTERTABLEtestalter_tblDROPi;ALTERTABLEtestalter_tblADDiINTAFTER要想改變列的定義,需要使用MODIFYCHANGE子句,并配合使用ALTER令。例如,把c從CHAR(1)變?yōu)镃HAR(10):mysql>ALTERTABLEtestalter_tblMODIFYcA);CHANGE。必須把所要改變的列名放到CHANGE然后指定新的列定義。相關mysql>ALTERTABLEtestalter_tblCHANGEijmysql>ALTERTABLEtestalter_tblCHANGEjjALTERTABLE對Null及默認我們不這樣處理,MySQL會自動為這些屬性指定相關值。例如,NOTNULLmysql>mysql>ALTERTABLE->MODIFYjBIGINTNOTNULLDEFAULT如果不使用上述命令,則MySQL會在所有這些列中填充NULL 使用DROP子句與ALTER命令,可以去mysql>mysql>ALTERTABLEtestalter_tblALTERiDROPmysql>SHOWCOLUMNSFROM |Field|Type|Null|Key|Default|Extra+||+++++++|char(1)|YES |NULL||int(11)|YES+| +|++++2rowsinset(0.00通過SHOWTABLESTATUS當前的表類mysql>mysql>ALTERTABLEtestalter_tblTYPE=MYISAM;mysql>SHOWTABLESTATUSLIKEName:testalter_tblType:Row_format:Row_format:FixedRows:0Avg_row_length:Data_length:Max_data_length:Index_length: Auto_increment:NULLCreate_time:200706-03Update_time:200706-03Check_time:NULLmysql>ALTERTABLEtestalter_tblRENAMETOALTER建并刪除MySQL節(jié)再MySQL索引在創(chuàng)建索引時,需要考慮哪些列會用于SQL查詢,然后為這些列創(chuàng)建一個或多個索CREATECREATEUNIQUEINDEXindex_nameONtable_name(column1,也可以使用一或多個列來創(chuàng)建索引。比如說,表tutorials_tbl中,使用tutorial_author來創(chuàng)建索引CREATECREATEUNIQUEINDEX還可以為表創(chuàng)建簡單索引,只需要在查詢時不帶UNIQUE關鍵字,就可創(chuàng)建簡單索引。簡單索引允許在表中復 mysql>mysql>CREATEUNIQUEINDEX添加與刪N的ALTERALTERTABLEtbl_nameADDPRIMARYKEYcolumn_list)該語句添加一個主鍵。意味著索引值必須是NULL。ALTERTABLEtbl_nameADDUNIQUEindex_namecolumn_list)該語句為必須唯一的值(ALTERTABLEtbl_nameADDINDEXindex_namecolumn_list)語句為可能多次出現(xiàn)的值創(chuàng)建一般索ALTERTABLEtbl_nameADDFULLTEXTindex_name(column_list)語句創(chuàng)建于文本搜索的FULLTEXT索引。mysql>ALTERTABLEtestalter_tblADDINDEX可以使用DROPALTER索引,通過下面這個范例來刪除之前創(chuàng)建的索mysql>ALTERTABLEtestalter_tblDROPINDEX利用ALTER命令來添加與刪除mysql>mysql>ALTERTABLEtestalter_tblMODIFYiINTNOTNULL;mysql>ALTERTABLEtestalter_tblADDPRIMARYKEY(i);同樣,也可以使ALTER主鍵mysql>ALTERTABLEtestalter_tblDROPPRIMARY如果要刪除非主鍵的索引,則必須指定索引使用SHOWINDEX所有索引。以垂直格式輸出(標識\G)會比較便于查看,可避免單行mysql>mysql>SHOWINDEXFROMMySQLMySQL是從3.23開始引入臨時表這一3.23前的MySQL版本,則無法使用臨時表,但可以使用堆表(HEAPtable)。如上所述,臨時表只能在會生存期內(nèi)存在。果在PHP中運行代碼,那么當結(jié)束執(zhí)行時,就會動清除臨時表。如果通過MSL客戶端程序連接MQL戶端或者手動清除該表。下面范例將展示臨時表的用法。同樣的代碼也可通過myql_query()用于PHP中mysql>mysql>CREATETEMPORARYTABLESalesSummary->product_nameVARCHAR(50)NOT->,total_salesDECIMAL(12,2)NOTNULLDEFAULT->,avg_unit_priceDECIMAL(7,2)NOTNULLDEFAULT->,total_units_soldINTUNSIGNEDNOTNULLDEFAULTQueryOK,0rowsaffected(0.00mysql>INSERTINTO->(product_name,total_sales,avg_unit_price,->mysql>SELECT*FROM ++ | 100.25 +90.00+++2++利用SHOWTABLES令顯示表時,臨時表不會出現(xiàn)在結(jié)果列表中。如MySQL話,就會執(zhí)SELECT那么數(shù)據(jù)庫中將沒有任何數(shù)據(jù),甚至臨時表也不存在了。下面就是一個刪除臨時表的范例mysql>mysql>CREATETEMPORARYTABLESalesSummary->product_nameVARCHAR(50)NOT->,total_salesDECIMAL(12,2)NOTNULLDEFAULT->,avg_unit_priceDECIMAL(7,2)NOTNULLDEFAULT->,total_units_soldINTUNSIGNEDNOTNULLDEFAULTQueryOK,0rowsaffected(0.00mysql>INSERTINTO->(product_name,total_sales,avg_unit_price,->mysql>SELECT*FROM ++ | 100.25 +90.00+++2++mysql>DROP

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論