mySQL教學(xué) 第2章 安裝和介紹mySQL_第1頁
mySQL教學(xué) 第2章 安裝和介紹mySQL_第2頁
mySQL教學(xué) 第2章 安裝和介紹mySQL_第3頁
mySQL教學(xué) 第2章 安裝和介紹mySQL_第4頁
mySQL教學(xué) 第2章 安裝和介紹mySQL_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章介紹MySQL2023/2/41華育國際呼和浩特分校本章內(nèi)容2.1什么是MySQL2.2MySQL版本2.3安裝MySQL2.4字符集2.5存儲引擎2.6MySQL工具2.7MySQL幫助2023/2/42華育國際呼和浩特分校2.1什么是MySQLMySQL是一個中、小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQLAB公司開發(fā),目前屬于Oracle公司,與其他大型數(shù)據(jù)庫管理系統(tǒng)(如Oracle、DB2、SQLServer等)相比,MySQL規(guī)模小、功能有限,但是其體積小、速度快、成本低,并且MySQL提供的功能已經(jīng)綽綽有余,這些特性使得MySQL成為世界上最受歡迎的開放源代碼數(shù)據(jù)庫。本節(jié)將介紹MySQL的特點。2023/2/43華育國際呼和浩特分校mySQL架構(gòu)圖2023/2/44華育國際呼和浩特分校MySQL版本社區(qū)版(免費)企業(yè)服務(wù)器版付費提供電話技術(shù)支持支持事物2023/2/45華育國際呼和浩特分校MySQL的系統(tǒng)特性(1)使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性支持FreeBSD、Linux、MacOS、Windows、NovellNetware等多種操作系統(tǒng)為多種編程語言提供了API。這些編程語言包括C、C++、Java、PHP等。支持多線程,充分利用CPU資源優(yōu)化的SQL查詢算法,有效地提高查詢速度提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。2023/2/46華育國際呼和浩特分校MySQL的系統(tǒng)特性(2)既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中。提供多語言支持,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。支持大型的數(shù)據(jù)庫。可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。支持多種存儲引擎。2023/2/47華育國際呼和浩特分校2.2安裝MySQL此外您需要運行這一命令以確保您的軟件包列表是最新的。root@ubuntuServer:~#apt-getupdate安裝MySQLroot@ubuntuServer:~#sapt-getinstallmysql-server2023/2/48華育國際呼和浩特分校2.3字符集-基本概念字符指人類語言中最小的表義符號,如‘A’、‘B’等。編碼給定一系列字符,對每個字符賦予一個值,用數(shù)值代表對應(yīng)的字符,這一數(shù)值就是字符的編碼(Encoding)。如‘A’賦予數(shù)值0,給字符‘B’賦予1,則0是字符A的編碼,1是B的編碼。字符集給定一系列字符并賦予對應(yīng)編碼后,所有這些字符和編碼對組成的集合就是字符集(characterSet),如{‘A’=0,‘B’=1}就是一個字符集。2023/2/49華育國際呼和浩特分校字符集-基本概念(續(xù))字符序(Collation)是指在同一字符集內(nèi)字符之間的比較規(guī)則。字符序確定字符序后,才能在比較字符之間的大小。一個字符集可以對應(yīng)多種字符序,其中有一個默認字符序(DefaultCollation)。MySQL中的字符序名稱遵從命名慣例:以字符序?qū)?yīng)的字符集名稱開頭;以_ci(表示大小寫不敏感)、_cs(表示大小寫敏感)或_bin(表示按編碼值比較)。例如:在字符序“utf8_general_ci”下,字符“a”和“A”是等價的。2023/2/410華育國際呼和浩特分校字符集簡史-ASCII碼在所有字符集中,最知名的可能要數(shù)被稱為ASCII的7位字符集了。它是美國標(biāo)準(zhǔn)信息交換代碼(AmericanStandardCodeforInformationInterchange)的縮寫,為美國英語通信所設(shè)計。它由128個字符組成,包括大小寫字母、數(shù)字0-9、標(biāo)點符號、非打印字符(換行符、制表符等4個)以及控制字符(退格、響鈴等)組成2023/2/411華育國際呼和浩特分校字符集簡史-Latin1ASCII碼當(dāng)處理帶有音調(diào)標(biāo)號(形如漢語的拼音)的歐洲文字時就會出現(xiàn)問題,因此,創(chuàng)建出了一些包括255個字符的由ASCII擴展的字符集。將128-255之間的字符用于拉丁字母表中特殊語言字符的編碼,8位字符集是ISO8859-1Latin1,也簡稱為ISOLatin-1。2023/2/412華育國際呼和浩特分校字符集簡史-UNICODE編碼歐洲語言不是地球上的唯一語言,因此亞洲和非洲語言并不能被8位字符集所支持。僅漢語(或pictograms)字母表就有80000以上個字符。但是把漢語、日語和越南語的一些相似的字符結(jié)合起來,在不同的語言里,使不同的字符代表不同的字,這樣只用2個字節(jié)就可以編碼地球上幾乎所有地區(qū)的文字。因此,創(chuàng)建了UNICODE編碼2023/2/413華育國際呼和浩特分校字符集簡史-UTF8事實證明,對可以用ASCII表示的字符使用UNICODE并不高效,因為UNICODE比ASCII占用大一倍的空間,而對ASCII來說高字節(jié)的0對他毫無用處。為了解決這個問題,就出現(xiàn)了一些中間格式的字符集,他們被稱為通用轉(zhuǎn)換格式,即UTF(UniversalTransformationFormat)。目前存在的UTF格式有:UTF-7,UTF-7.5,UTF-8,UTF-16,以及UTF-32。2023/2/414華育國際呼和浩特分校測試字符集的輸出結(jié)果在SQLadmin管理工具中測試使用不同編碼顯示漢字和字符??梢钥吹介L的編碼變成短的,出現(xiàn)亂碼。短的編碼存到長的,不出現(xiàn)亂碼。SELECT_latin1'hanligang'顯示名unionSELECT_latin1'韓立剛'unionSELECT_utf8'韓立剛'unionSELECT_gbk'韓立剛'unionSELECT_ascii'han立剛'2023/2/415華育國際呼和浩特分校MySQL中的字符集轉(zhuǎn)換過程圖示2023/2/416華育國際呼和浩特分校MySQL中的字符集轉(zhuǎn)換過程1.MySQLServer收到請求時將請求數(shù)據(jù)從character_set_client轉(zhuǎn)換為character_set_connection;2.進行內(nèi)部操作前將請求數(shù)據(jù)從character_set_connection轉(zhuǎn)換為內(nèi)部操作字符集,其確定方法如下:使用每個數(shù)據(jù)字段的CHARACTERSET設(shè)定值;若上述值不存在,則使用對應(yīng)數(shù)據(jù)表的DEFAULTCHARACTERSET設(shè)定值(MySQL擴展,非SQL標(biāo)準(zhǔn));若上述值不存在,則使用對應(yīng)數(shù)據(jù)庫的DEFAULTCHARACTERSET設(shè)定值;若上述值不存在,則使用character_set_server設(shè)定值。2023/2/417華育國際呼和浩特分校mySQL字符集設(shè)置級別設(shè)置字段字符集CREATETABLEtbl(nameCHAR(20)CHARACTERSETUTF8,)設(shè)置表字符集CREATETABLEtbl(......)ENGINE=MyISAMDEFAULTCHARSETUTF8;設(shè)置數(shù)據(jù)庫字符集CREATEDATABASEdbDEFAULTCHARSETUTF8;設(shè)置服務(wù)器字符集

更改配置文件/etc/mySQl/f[mysqld]default-character-set=utf82023/2/418華育國際呼和浩特分校設(shè)置客戶端字符集1設(shè)置putty字符集2023/2/419華育國際呼和浩特分校設(shè)置客戶端字符集2設(shè)置SQLadmin字符集2023/2/420華育國際呼和浩特分校2.4MySQL常用的存儲引擎MyISAM最好用于處理讀多寫少數(shù)據(jù)庫

MySQL的默認存儲引擎。MyISAM不支持事務(wù)、也不支持外鍵,但其訪問速度快,對事務(wù)完整性沒有要求。InnoDB使用于數(shù)據(jù)完整性要求高的數(shù)據(jù)庫具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全。但是比起MyISAM存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數(shù)據(jù)和索引MEMORY存儲引擎使用存在內(nèi)存中的內(nèi)容來創(chuàng)建表。每個MEMORY表只實際對應(yīng)一個磁盤文件。MEMORY類型的表訪問非常得快,因為它的數(shù)據(jù)是放在內(nèi)存中的,并且默認使用HASH索引。但是一旦服務(wù)關(guān)閉,表中的數(shù)據(jù)就會丟失掉。

2023/2/421華育國際呼和浩特分校查看默認存儲引擎mysql>showvariableslike'table_type';2023/2/422華育國際呼和浩特分校更改mySQL的默認存儲引擎編輯配置文件vi

/etc/mysql/f2023/2/423華育國際呼和浩特分校指定數(shù)據(jù)庫的存儲引擎創(chuàng)建數(shù)據(jù)庫時指定存儲引擎createtableau(studentidintnotnullauto_increment,primarykey(studentid))engine=innodb2023/2/424華育國際呼和浩特分校指定表的存儲引擎創(chuàng)建表時指定存儲引擎CREATETABLETStudent`(StudentIDvarchar(15)NOTNULL,Snamevarchar(10)DEFAULTNULL,PRIMARYKEY(`StudentID`))ENGINE=InnoDB修改現(xiàn)有表的存儲引擎mysql>useschoolDB;mysql>altertableTStudentengine=InnoDB;2023/2/425華育國際呼和浩特分校使用SQLadmin指定表的存儲引擎2023/2/426華育國際呼和浩特分校InnoDB存擎的特點自動增長列自動增長列可以送給插入,但是插入的如果是空或者為0,則實際插入的值是自動增長后的值。外鍵約束MySQL支持外鍵存儲引擎只有InnoDB,在創(chuàng)建外鍵的時候,要求父表必須有對應(yīng)的索引,子表在創(chuàng)建外鍵的時候也會自動創(chuàng)建索引在刪除更新父表時,對子表進行相應(yīng)的操作,包括restrict、cascade、setnull和noaction使用InnoDB存儲引擎數(shù)據(jù)按主鍵順序存放2023/2/427華育國際呼和浩特分校2.5MySQL圖形化管理工具MySQL數(shù)據(jù)庫管理系統(tǒng)提供了許多命令行工具,這些工具可以用來管理MySQL服務(wù)器、對數(shù)據(jù)庫進行訪問控制、管理MySQL用戶以及數(shù)據(jù)庫備份和恢復(fù)工具等。而且MySQL提供圖形化的管理工具,這使得對數(shù)據(jù)庫的操作更加簡單。2023/2/428華育國際呼和浩特分校五個常用MySQL圖形化管理工具MySQLManagerLiteSetupphpMyAdminMySQLDumperNavicatMySQLGUITools2023/2/429華育國際呼和浩特分校mySQL客戶端工具輸入my按tab鍵能夠看到所有mySQL客戶端工具2023/2/430華育國際呼和浩特分校MySQL客戶端實用工具程序(1)Myisampack壓縮MyISAM表以產(chǎn)生更小的只讀表的一個工具。

Mysql交互式輸入SQL語句或從文件以批處理模式執(zhí)行它們的命令行工具。

mysqlaccess檢查訪問主機名、用戶名和數(shù)據(jù)庫組合的權(quán)限的腳本。2023/2/431華育國際呼和浩特分校MySQL客戶端實用工具程序(2)mysqladmin執(zhí)行管理操作的客戶程序,例如創(chuàng)建或刪除數(shù)據(jù)庫,重載授權(quán)表,將表刷新到硬盤上,以及重新打開日志文件。mysqladmin還可以用來檢索版本、進程,以及服務(wù)器的狀態(tài)信息。

mysqlbinlog從二進制日志讀取語句的工具。在二進制日志文件中包含的執(zhí)行過的語句的日志可用來幫助從崩潰中恢復(fù)。Mysqlcheck檢查、

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論