版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
123通過本章的學(xué)習(xí),讀者可以掌握一些常用的MySQL命令,從而對MySQL數(shù)據(jù)庫進(jìn)行一些簡單的管理。本章知識點較為繁雜,希望保持一份兒耐心。4字符集以及字符序設(shè)置MySQL概述MySQL數(shù)據(jù)庫管理MySQL表管理5系統(tǒng)變量內(nèi)容一覽123MySQL由瑞典MySQLAB公司開發(fā)。2008年1月MySQL被美國的SUN公司收購。2009年4月SUN公司又被美國的甲骨文(Oracle)公司收購。MySQL服務(wù)的安裝MySQL的特點MySQL服務(wù)的配置45啟動與停止MySQL服務(wù)MySQL配置文件2.1MySQL概述67MySQL由瑞典MySQLAB公司開發(fā)。2008年1月MySQL被美國的SUN公司收購。2009年4月SUN公司又被美國的甲骨文(Oracle)公司收購。連接MySQL服務(wù)器關(guān)系數(shù)據(jù)庫MySQL客戶機2.1MySQL概述2.1.1數(shù)據(jù)與數(shù)據(jù)庫1.數(shù)據(jù)2.數(shù)據(jù)處理3.數(shù)據(jù)管理4.數(shù)據(jù)庫:集合、可共享、最小冗余5.數(shù)據(jù)庫技術(shù):完整性、安全性、并發(fā)控制2.1.2數(shù)據(jù)庫的發(fā)展1.人工管理階段:數(shù)據(jù)不保存;沒有專門的數(shù)據(jù)管理軟件;數(shù)據(jù)面向應(yīng)用;基本沒有文件的概念。2.文件系統(tǒng)階段數(shù)據(jù)冗余大,缺乏獨立性,無法集中管理,文件之間缺乏聯(lián)系3.數(shù)據(jù)庫系統(tǒng)階段:dbms
數(shù)據(jù)的結(jié)構(gòu)化;數(shù)據(jù)共享和獨立性好;數(shù)據(jù)存取冗余度小;數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)進(jìn)行統(tǒng)一的管理和控制;為用戶提供有好的接口。數(shù)據(jù)庫管理系統(tǒng):1、數(shù)據(jù)庫安全型控制2、數(shù)據(jù)庫完整性控制功能3、并發(fā)控制4、恢復(fù)功能數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)是長期存放在計算機內(nèi)、有組織的、可共享的相關(guān)數(shù)據(jù)的集合它將數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性、可被各類用戶共享等特點。數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)是位于用戶與操作系統(tǒng)(OS)之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的創(chuàng)建、查詢、更新及各種數(shù)據(jù)控制,它是數(shù)據(jù)庫系統(tǒng)的核心。數(shù)據(jù)庫管理系統(tǒng)一般由計算機軟件公司提供,目前比較流行的DBMS有VisualFoxPro、Access、SQLServer、MySQL、Oracle等。數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫管理系統(tǒng)的主要功能數(shù)據(jù)定義功能。DBMS提供數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL),用戶通過它可以方便地對數(shù)據(jù)庫中的對象進(jìn)行定義。數(shù)據(jù)操縱功能。DBMS提供數(shù)據(jù)操縱語言(DataManipulationLanguage,DML),用戶可以使用DML操縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作,如查詢、插入、刪除和修改等。數(shù)據(jù)庫的運行管理。數(shù)據(jù)庫在創(chuàng)建、運用和維護(hù)時由DBMS統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。數(shù)據(jù)庫的創(chuàng)建和維護(hù)功能。包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)功能,數(shù)據(jù)庫的組織功能和性能監(jiān)視、分析功能等。這些功能通常由一些應(yīng)用程序完成的。數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫應(yīng)用系統(tǒng)凡使用數(shù)據(jù)庫技術(shù)管理其數(shù)據(jù)的系統(tǒng)都稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)(DataBaseApplicationSystem)。數(shù)據(jù)庫應(yīng)用系統(tǒng)的應(yīng)用非常廣泛,它可以用于事務(wù)管理、計算機輔助設(shè)計、計算機圖形分析和處理及人工智能等系統(tǒng)中。數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)它由計算機硬件、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、數(shù)據(jù)庫應(yīng)用系統(tǒng)、數(shù)據(jù)庫用戶構(gòu)成。1、數(shù)據(jù)共享2、數(shù)據(jù)獨立3、減少數(shù)據(jù)冗余度4、避免數(shù)據(jù)不一致5、加強數(shù)據(jù)保護(hù)數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫用戶包括數(shù)據(jù)庫管理員、系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計人員及應(yīng)用程序開發(fā)人員和終端用戶。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫的三級模式結(jié)構(gòu)是數(shù)據(jù)3個抽象級別,它把數(shù)據(jù)的具體組織留給DBMS去處理,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的表示和存儲,這樣就減輕了用戶使用系統(tǒng)的負(fù)擔(dān)。三級結(jié)構(gòu)之間差別往往很大,為了實現(xiàn)這3個抽象級別的聯(lián)系和轉(zhuǎn)換,DBMS在三級結(jié)構(gòu)之間提供了兩級映像(Mapping):外模式/模式映像,模式/內(nèi)模式映像。正是這兩級映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。
數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)1.模式模式(Schema)也稱概念模式(ConceptualSchema)或邏輯模式,是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。模式實際上是數(shù)據(jù)庫數(shù)據(jù)在概念級上的視圖,一個數(shù)據(jù)庫只有一個模式。數(shù)據(jù)庫管理系統(tǒng)提供模式描述語言(SchemaDataDefinitionLanguage,模式DDL)來定義模式。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)2.外模式外模式(ExternalSchema)也稱子模式(Subschema)或用戶模式,它是對數(shù)據(jù)庫用戶(包括程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,即個別用戶涉及的數(shù)據(jù)的邏輯結(jié)構(gòu)。外模式通常是模式的子集,一個數(shù)據(jù)庫可以有多個外模式。外模式是保證數(shù)據(jù)庫安全性的一個有效措施。數(shù)據(jù)庫管理系統(tǒng)提供外模式描述語言(外模式DDL)來定義外模式。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)3.內(nèi)模式內(nèi)模式(InternalSchema)也稱存儲模式(StorageSchema)或物理模式,一個數(shù)據(jù)庫只有一個內(nèi)模式。內(nèi)模式是對數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。內(nèi)模式的設(shè)計目標(biāo)是將系統(tǒng)的模式(全局邏輯結(jié)構(gòu))組織成最優(yōu)的物理模式,以提高數(shù)據(jù)的存取效率,改善系統(tǒng)的性能指標(biāo)。數(shù)據(jù)庫管理系統(tǒng)提供內(nèi)模式描述語言(內(nèi)模式DDL)來定義內(nèi)模式。
數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)4.外模式/模式映像模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)對應(yīng)于同一個模式可以有任意多個外模式對于每個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映像,它定義了該外模式與模式之間的對應(yīng)關(guān)系。這些映像定義通常包含在各自外模式的描述中。
數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)5.模式/內(nèi)模式映像數(shù)據(jù)庫中只有一個模式,也只有一個內(nèi)模式,所以模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的。該映像定義通常包含在模式描述中。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)6.兩級數(shù)據(jù)獨立性數(shù)據(jù)獨立性(DataIndependence)是指應(yīng)用程序和數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨立,不受影響邏輯數(shù)據(jù)獨立性物理數(shù)據(jù)獨立性數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)邏輯數(shù)據(jù)獨立性當(dāng)模式改變時(如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對各個外模式/模式映像作相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,因而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱邏輯數(shù)據(jù)獨立性。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)物理數(shù)據(jù)獨立性當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(如選用了另一種存儲結(jié)構(gòu)),由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像作相應(yīng)改變,可以保證模式保持不變,因而應(yīng)用程序也不必改變。保證了數(shù)據(jù)與程序的物理獨立性,簡稱物理數(shù)據(jù)獨立性。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)特定的應(yīng)用程序是在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的,它依賴于特定的外模式,與數(shù)據(jù)庫的模式和存儲結(jié)構(gòu)相獨立。不同的應(yīng)用程序可以共用同一外模式。數(shù)據(jù)庫的兩級映像保證了數(shù)據(jù)庫外模式的穩(wěn)定性,從而從底層保證了應(yīng)用程序的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程序一般不需要修改。1.1什么是數(shù)據(jù)
數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)與程序之間的獨立性,使數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去。另外,由于數(shù)據(jù)的存取由DBMS管理,用戶不必考慮存取路徑等細(xì)節(jié),從而簡化了應(yīng)用程序的編寫,大大減少了對應(yīng)用程序的維護(hù)及修改工作。2.1.5常見的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)1.oracle2.sqlserver3.mysql4.access2.1.6結(jié)構(gòu)化查詢語言1、綜合統(tǒng)一2、高度非過程化3、面向集合的操作方式4、以同一種語法結(jié)構(gòu)提供兩種使用方式5、語言簡潔,易學(xué)易用
MySQL是一個單進(jìn)程多線程、支持多用戶、基于客戶機/服務(wù)器(Client/Server簡稱C/S)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。性能高效跨平臺支持簡單易用開源支持多用戶優(yōu)化的sql查詢算法2.1.1MySQL特點MySQL的使用流程
2.1.1MySQL特點MySQL其他概念:MySQL服務(wù)MySQL服務(wù)實例MySQL服務(wù)器端口號2.1.1MySQL特點MySQL服務(wù)的安裝(請參看本書內(nèi)容)。建議自學(xué),并上機操作。注意:本書使用的MySQL為5.6版本??梢缘奖緯付ǖ木W(wǎng)址下載MySQL圖形化安裝包mysql-5.6.5-m8-win32.msi。
2.1.2MySQL服務(wù)的安裝MySQL服務(wù)的配置(請參看本書內(nèi)容)。建議自學(xué),并上機操作。配置過程中的其他知識點:OLAP與OLTP
EnableStrictMode選項字符集/字符序MySQL超級管理員root賬戶my.ini配置文件中2.1.3MySQL服務(wù)的配置MySQL服務(wù)的啟動與停止(請參看本書內(nèi)容)。建議自學(xué),并上機操作。Bin目錄下的mysqld2.1.4啟動與停止MySQL服務(wù)my.ini配置文件包含了多種參數(shù)選項組,每個參數(shù)選項組通過“[]”指定,每個參數(shù)選項組可以配置多個參數(shù)信息。通常情況下,每個參數(shù)遵循“參數(shù)名=參數(shù)值”這種配置格式,參數(shù)名一般是小寫字母,參數(shù)名大小寫敏感。常用的參數(shù)選項組有“[client]”、“[mysql]”以及“[mysqld]”參數(shù)選項組。2.1.5MySQL配置文件[client]參數(shù)選項組:配置了MySQL自帶的MySQL5.6命令行窗口可以讀取的參數(shù)信息。常用的參數(shù)是port(默認(rèn)值是3306)。修改該port值會導(dǎo)致新打開的MySQL5.6命令行窗口無法連接MySQL服務(wù)器。2.1.5MySQL配置文件[mysql]參數(shù)選項組:配置了MySQL客戶機程序mysql.exe可以讀取的參數(shù)信息。常用的參數(shù)有“prompt”、“default-character-set=gbk”。修改“[mysql]”參數(shù)選項組中的參數(shù)值,將直接影響新打開的MySQL客戶機。2.1.5MySQL配置文件[mysqld]參數(shù)選項組:配置了MySQL服務(wù)程序mysqld.exe可以讀取的參數(shù)信息,mysqld.exe啟動時,將[mysqld]參數(shù)選項組的參數(shù)信息加載到服務(wù)器內(nèi)存,繼而生成MySQL服務(wù)實例。2.1.5MySQL配置文件[mysqld]參數(shù)選項組:常用的參數(shù)有“port”、“basedir”、“datadir”、“character-set-server”、“sql_mode”、“max_connections”以及“default_storage_engine”等。2.1.5MySQL配置文件[mysqld]參數(shù)選項組:修改“[mysqld]”參數(shù)選項組的參數(shù)值,只有重新啟動MySQL服務(wù),將修改后的配置文件參數(shù)信息加載到服務(wù)器內(nèi)存后,新配置文件才會在新的MySQL服務(wù)實例中生效。如果“[mysqld]”參數(shù)選項組的參數(shù)信息出現(xiàn)錯誤,將會導(dǎo)致MySQL服務(wù)無法啟動。2.1.5MySQL配置文件MySQL客戶機(本書使用前兩個):MySQL5.6命令行窗口
CMD命令提示符窗口
WEB瀏覽器(例如phpMyAdmin)第三方客戶機程序(例如MySQL-Front、MySQL
ManagerforMySQL等)2.1.6MySQL客戶機phpMyAdmin2.1.6MySQL客戶機MySQL-Front2.1.6MySQL客戶機MySQL
ManagerforMySQL2.1.6MySQL客戶機2.1.6MySQL客戶機HeidiSQLMySQL客戶機連接MySQL服務(wù)器須提供:合法的登錄主機:解決“from”的問題。合法的賬戶名以及密碼:解決“who”的問題。MySQL服務(wù)器主機名(或IP地址):解決“to”的問題。端口號:解決“多卡多待”的問題。MySQL客戶機與MySQL服務(wù)器是同一臺主機時,主機名可以使用localhost(或者127.0.0.1)。2.1.7連接MySQL服務(wù)器當(dāng)MySQL客戶機與MySQL服務(wù)器是同一臺主機時,打開命令提示符窗口,輸入mysql-h127.0.0.1-P3306-uroot–proot或者mysql-hlocalhost-P3306-uroot–proot然后回車(注意-p后面緊跟密碼root),即可實現(xiàn)本地MySQL客戶機與本地MySQL服務(wù)器之間的成功連接。2.1.7連接MySQL服務(wù)器2.1.7連接MySQL服務(wù)器123MySQL由瑞典MySQLAB公司開發(fā),默認(rèn)情況下MySQL使用的是latin1字符集。由此可能導(dǎo)致MySQL數(shù)據(jù)庫不夠支持中文字符串查詢或者發(fā)生中文字符串亂碼等問題。
MySQL字符集與字符序字符集及字符序概念MySQL的字符集轉(zhuǎn)換過程45MySQL字符集的設(shè)置SQL腳本文件2.2字符集以及字符序設(shè)置字符(Character)是人類語言最小的表義符號,例如‘A’、‘B’等。給定一系列字符,對每個字符賦予一個數(shù)值,用數(shù)值來代表對應(yīng)的字符,這個數(shù)值就是字符的編碼(CharacterEncoding)。給定一系列字符并賦予對應(yīng)的編碼后,所有這些“字符和編碼對”組成的集合就是字符集(CharacterSet)。
2.2.1字符集及字符序概念2.2.1字符集及字符序概念字符序(Collation)是指在同一字符集內(nèi)字符之間的比較規(guī)則。一個字符集包含多種字符序,每個字符序唯一對應(yīng)一種字符集。MySQL字符序命名規(guī)則是:以字符序?qū)?yīng)的字符集名稱開頭,以國家名居中(或以general居中),以ci、cs或bin結(jié)尾。ci表示大小寫不敏感,cs表示大小寫敏感,bin表示按二進(jìn)制編碼值比較。2.2.1字符集及字符序概念使用MySQL命令showcharacterset;即可查看當(dāng)前MySQL服務(wù)實例支持的字符集、字符集默認(rèn)的字符序以及字符集占用的最大字節(jié)長度等信息latin1支持西歐字符、希臘字符等gbk支持中文簡體字符big5支持中文繁體字符utf8幾乎支持世界所有國家的字符。2.2.2MySQL字符集及字符序使用MySQL命令showvariableslike'character%';即可查看當(dāng)前MySQL服務(wù)實例使用的字符集。2.2.2MySQL字符集及字符序
character_set_client:MySQL客戶機字符集。character_set_connection:數(shù)據(jù)通信鏈路字符集,當(dāng)MySQL客戶機向服務(wù)器發(fā)送請求時,請求數(shù)據(jù)以該字符集進(jìn)行編碼。character_set_database:數(shù)據(jù)庫字符集。character_set_filesystem:MySQL服務(wù)器文件系統(tǒng)字符集,該值是固定的binary。2.2.2MySQL字符集及字符序character_set_results:結(jié)果集的字符集,MySQL服務(wù)器向MySQL客戶機返回執(zhí)行結(jié)果時,執(zhí)行結(jié)果以該字符集進(jìn)行編碼。character_set_server:MySQL服務(wù)實例字符集。character_set_system:元數(shù)據(jù)(字段名、表名、數(shù)據(jù)庫名等)的字符集,默認(rèn)值為utf8。2.2.2MySQL字符集及字符序使用MySQL命令showvariableslike'character%';setcharacter_set_client=gbk;setnamesgbk;登陸:Mysql–h–uroot–p123456;CdC:\ProgramFiles\MYSQL\mysql5.6\binMysqld–install服務(wù)名–defaults-file=d:路徑\my.iniNETSTARTMYSQLNETSTOPMYSQL使用MySQL命令“showcollation;”即可查看當(dāng)前MySQL服務(wù)實例支持的字符序。2.2.2MySQL字符集及字符序2.2.3MySQL字符集的轉(zhuǎn)換過程方法1:修改my.ini配置文件,可修改MySQL默認(rèn)的字符集。方法2:MySQL提供下列MySQL命令可以“臨時地”修改MySQL“當(dāng)前會話的”字符集以及字符序。2.2.4MySQL字符集的設(shè)置setcharacter_set_client=gbk;setcharacter_set_connection=gbk;setcharacter_set_database=gbk;setcharacter_set_results=gbk;setcharacter_set_server=gbk;setcollation_connection=gbk_chinese_ci;setcollation_database=gbk_chinese_ci;setcollation_server=gbk_chinese_ci;2.2.4MySQL字符集的設(shè)置方法3:使用MySQL命令“setnamesgbk;”可以“臨時一次性地”設(shè)置character_set_client、character_set_connection以及character_set_results的字符集為gbk方法4:連接MySQL服務(wù)器時指定字符集mysql--default-character-set=字符集
-h服務(wù)器IP地址-u賬戶名–p密碼2.2.4MySQL字符集的設(shè)置SQL基本的執(zhí)行方法(兩種):
\.C:\mysql\init.sqlsourceC:\mysql\init.sql連接與斷開服務(wù)器:1、cmd2、client3、斷開服務(wù)器2.2.5SQL腳本文件解壓版安裝1、解壓2、考到c:\programfiles\mysql\3、我的電腦-屬性-高級-環(huán)境變量path:c:\programfiles\mysql\mysql56\bin4、修改配置文件#basedir=C:\ProgramFiles\MYSQL\mysql5.6\bin#datadir=C:\ProgramFiles\MYSQL\mysql5.6\bin\data5、以管理員身份運行cmdCdC:\ProgramFiles\MYSQL\mysql5.6\binMysqld–install服務(wù)名–defaults-file=d:路徑\my.inimysql6、登錄:Mysql–uroot-p123
數(shù)據(jù)庫是存儲數(shù)據(jù)庫對象的容器。MySQL數(shù)據(jù)庫的管理主要包括數(shù)據(jù)庫的創(chuàng)建、選擇當(dāng)前操作的數(shù)據(jù)庫、顯示數(shù)據(jù)庫結(jié)構(gòu)以及刪除數(shù)據(jù)庫等操作
。查看數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫顯示數(shù)據(jù)庫結(jié)構(gòu)45選擇當(dāng)前操作的數(shù)據(jù)庫刪除數(shù)據(jù)庫2.3MySQL數(shù)據(jù)庫管理
createdatabasechoose;成功創(chuàng)建choose數(shù)據(jù)庫后,數(shù)據(jù)庫根目錄下會自動創(chuàng)建數(shù)據(jù)庫目錄。2.3.1創(chuàng)建數(shù)據(jù)庫
使用MySQL命令showdatabases;即可查看MySQL服務(wù)實例上所有的數(shù)據(jù)庫
2.3.2查看數(shù)據(jù)庫information_schema其中保存著關(guān)于MySQL服務(wù)器所維護(hù)的所有其他數(shù)據(jù)庫的信息。如數(shù)據(jù)庫名,數(shù)據(jù)庫的表,表欄的數(shù)據(jù)類型與訪問權(quán)限等。Mysql:賬戶信息,權(quán)限信息,存儲過程,event,時區(qū)等信息。performance_schema:主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù)。
提供以下功能:
1.提供進(jìn)程等待的詳細(xì)信息,包括鎖、互斥變量、文件信息;
2.保存歷史的事件匯總信息,為提供MySQL服務(wù)器性能做出詳細(xì)的判斷;
3.對于新增和刪除監(jiān)控事件點都非常容易,并可以隨意改變mysql服務(wù)器的監(jiān)控周期.
使用MySQL命令showcreatedatabasechoose;可以查看choose數(shù)據(jù)庫的相關(guān)信息(例如MySQL版本ID號、默認(rèn)字符集等信息)。2.3.3顯示數(shù)據(jù)庫結(jié)構(gòu)
執(zhí)行“usechoose;”命令后,后續(xù)的MySQL命令以及SQL語句將自動操作choose數(shù)據(jù)庫中所有數(shù)據(jù)庫對象。
修改數(shù)據(jù)庫:Alterdatabasechoose2.3.4選擇當(dāng)前操作的數(shù)據(jù)庫刪除student數(shù)據(jù)庫,使用SQL語句dropdatabasestudent;字符集:字符序:比較規(guī)則Showcharacterset;cicsBinCreatedatabasechooseDefaultcharactersetgb2312Defaultcollategb2312_chinese_ci;2.3.5刪除數(shù)據(jù)庫123表是數(shù)據(jù)庫中最為重要的數(shù)據(jù)庫對象
設(shè)置默認(rèn)的存儲引擎MyISAM和InnoDB存儲引擎創(chuàng)建數(shù)據(jù)庫表45顯示表結(jié)構(gòu)表記錄的管理2.4MySQL表管理67表是數(shù)據(jù)庫中最為重要的數(shù)據(jù)庫對象
刪除表InnoDB表空間2.4MySQL表管理MySQL提供了插件式(Pluggable)的存儲引擎,存儲引擎是基于表的,同一個數(shù)據(jù)庫,不同的表,存儲引擎可以不同。甚至同一個數(shù)據(jù)庫表,在不同的場合可以應(yīng)用不同的存儲引擎。
2.4.1MyISAM和InnoDB存儲引擎使用MySQL命令“showengines;”,即可查看MySQL服務(wù)實例支持的存儲引擎。2.4.1MyISAM和InnoDB存儲引擎MyISAM是MySQL官方提供的存儲引擎,其特點是不支持事務(wù),支持表鎖、全文索引、高速存儲,對于一些聯(lián)機分析處理(OLAP)系統(tǒng),操作速度快。每個MyISAM在磁盤上存儲成三個文件。文件名都和表名相同,擴展名分別是.frm(存儲表定義)、.MYD(MYData,存儲數(shù)據(jù))、.MYI(MYIndex,存儲索引)。這里特別要注意的是MyISAM不緩存數(shù)據(jù)文件,只緩存索引文件。InnoDB存儲引擎支持事務(wù),主要面向OLTP方面的應(yīng)用,其特點是行鎖設(shè)置、支持外鍵,并支持類似于Oracle的非鎖定讀,即默認(rèn)情況下讀不產(chǎn)生鎖。InnoDB將數(shù)據(jù)放在一個邏輯表空間中(類似Oracle)。InnoDB通過多版本并發(fā)控制來獲得高并發(fā)性,實現(xiàn)了ANSI標(biāo)準(zhǔn)的4種隔離級別,默認(rèn)為Repeatable,使用一種被稱為next-keylocking的策略避免幻讀。對于表中數(shù)據(jù)的存儲,InnoDB采用類似Oracle索引組織表Clustered的方式進(jìn)行存儲。InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全。但是對比Myisam的存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數(shù)據(jù)和索引。1.InnoDB存儲引擎的特點支持外鍵(ForeignKey)支持事務(wù)(Transaction):如果某張表主要提供OLTP支持,需要執(zhí)行大量的增、刪、改操作(insert、delete、update語句),出于事務(wù)安全方面的考慮,InnoDB存儲引擎是更好的選擇。最新版本的MySQL已經(jīng)開始支持全文檢索。oltp面向交易的處理系統(tǒng),其基本特征是顧客的原始數(shù)據(jù)可以立即傳送到計算中心進(jìn)行處理,并在很短的時間內(nèi)給出處理結(jié)果。2.4.1MyISAM和InnoDB存儲引擎2.MyISAM存儲引擎的特點MyISAM具有檢查和修復(fù)表的大多數(shù)工具。MyISAM表可以被壓縮
MyISAM表最早支持全文索引
但MyISAM表不支持事務(wù)
但MyISAM表不支持外鍵(ForeignKey)。如果需要執(zhí)行大量的select語句,出于性能方面的考慮,MyISAM存儲引擎是更好的選擇。2.4.1MyISAM和InnoDB存儲引擎MySQL5.6默認(rèn)的存儲引擎是InnoDB。使用MySQL命令setdefault_storage_engine=MyISAM;可以“臨時地”將MySQL“當(dāng)前會話的”存儲引擎設(shè)置為MyISAM,使用MySQL命令“showengines;”可以查看當(dāng)前MySQL服務(wù)實例默認(rèn)的存儲引擎。2.4.2設(shè)置默認(rèn)的存儲引擎使用SQL語句“createtable表名”即可創(chuàng)建一個數(shù)據(jù)庫表。例如:
usechoose;setdefault_storage_engine=InnoDB;createtablemy_table(todaydatetime,namechar(20));2.4.3創(chuàng)建數(shù)據(jù)庫表成功創(chuàng)建InnoDB存儲引擎的my_table表后,MySQL服務(wù)實例會在數(shù)據(jù)庫目錄choose中自動創(chuàng)建一個名字為表名、后綴名為frm的文件。my_table.frm。2.4.3創(chuàng)建數(shù)據(jù)庫表將my_table表的存儲引擎修改為MyISAM。usechoose;altertablemy_tableengine=MyISAM;2.4.3創(chuàng)建數(shù)據(jù)庫表使用MySQL命令“desctable_name;”即可查看表名為table_name的表結(jié)構(gòu)。2.4.4顯示表結(jié)構(gòu)使用MySQL命令“showcreatetabletable_name;”,查看名為table_name表的詳細(xì)信息。2.4.4顯示表結(jié)構(gòu)usechoose;insertintomy_tablevalues(now(),'a');insertintomy_tablevalues(now(),'a');insertintomy_tablevalues(now(),NULL);insertintomy_tablevalues(now(),'');select*frommy_table;
2.4.5表記錄的管理任務(wù)布置1:完成本書場景描述1:MyISAM表記錄的管理的任務(wù)要求。任務(wù)布置2:完成本書場景描述2:InnoDB表記錄的管理的任務(wù)要求。2.4.5表記錄的管理
1.共享表空間:MySQL服務(wù)實例承載的所有數(shù)據(jù)庫的所有InnoDB表的數(shù)據(jù)信息、索引信息、各種元數(shù)據(jù)信息以及事務(wù)的回滾(UNDO)信息,全部存放在共享表空間文件中。默認(rèn)情況下該文件位于數(shù)據(jù)庫根目錄下,文件名是ibdata1,且文件的初始大小為10M??梢允褂肕ySQL命令“showvariableslike‘innodb_data_file_path’;”查看該文件的的屬性。
2.4.6InnoDB表空間2.4.6InnoDB表空間元數(shù)據(jù)(Metadata),又稱中介數(shù)據(jù)、中繼數(shù)據(jù),為描述數(shù)據(jù)的數(shù)據(jù)(dataaboutdata),主要是描述數(shù)據(jù)屬性(property)的信息,用來支持如指示存儲位置、歷史數(shù)據(jù)、資源查找、文件記錄等功能。元數(shù)據(jù)算是一種電子式目錄
2.獨享表空間:如果將全局系統(tǒng)變量innodb_file_per_table的值設(shè)置為ON(innodb_file_per_table的默認(rèn)值為OFF),那么之后再創(chuàng)建InnoDB存儲引擎的新表,這些表的數(shù)據(jù)信息、索引信息都將保存到獨享表空間文件。2.4.6InnoDB表空間獨享表空間的設(shè)置2.4.6InnoDB表空間usechoose;altertablemy_tableengine=InnoDB;createtablesecond_table(todaydatetime,namechar(20));2.4.6InnoDB表空間2.4.6InnoDB表空間ibd是MySQL數(shù)據(jù)文件、索引文件,無法直接讀取。
frm是表結(jié)構(gòu)文件,可以直接打開。
任務(wù)布置3:完成本書場景描述3的任務(wù)要求。2.4.6InnoDB表空間使用SQL語句droptabletable_name;即可刪除名為table_name的表。刪除表后,MySQL服務(wù)實例會自動刪除該表結(jié)構(gòu)定義文件(例如second_table.frm文件),以及數(shù)據(jù)、索引信息。該命令慎用!
2.4.7刪除表123MySQL數(shù)據(jù)庫中,變量分為系統(tǒng)變量(以@@開頭)以及用戶自定義變量(以@開頭)。查看系統(tǒng)變量的值全局系統(tǒng)變量與會話系統(tǒng)變量設(shè)置系統(tǒng)變量的值2.5系統(tǒng)變量每一個MySQL客戶機成功連接MySQL服務(wù)器后,都會產(chǎn)生與之對應(yīng)的會話。會話期間,MySQL服務(wù)實例會在MySQL服務(wù)器內(nèi)存中生成與該會話對應(yīng)的會話系統(tǒng)變量,這些會話系統(tǒng)變量的初始值是全局系統(tǒng)變量值的拷貝。
2.5.1全局系統(tǒng)變量與會話系統(tǒng)變量由于各會話在會話期間所做的操作不盡相同,為了標(biāo)記各個會話,會話系統(tǒng)變量又新增了12個變量。2.5.1全局系統(tǒng)變量與會話系統(tǒng)變量2.5.1全局系統(tǒng)變量與會話系統(tǒng)變量
使用“showglobalvariables;”命令即可查看MySQL服務(wù)器內(nèi)存中所有的全局系統(tǒng)變量信息(有393項之多)。使用“showsessionvariables;”命令即可查看與當(dāng)前會話相關(guān)的所有會話系統(tǒng)變量以及所有的全局系統(tǒng)變量(有405項之多),此處session關(guān)鍵字可以省略。
2.5.2查看系統(tǒng)變量的值
MySQL中有一些系統(tǒng)變量僅僅是全局系統(tǒng)變量,例如innodb_data_file_path。showglobalvariableslike'innodb_data_file_path';showsessionvariableslike'innodb_data_file_path';showvariableslike'innodb_data_file_path';2.5.2查看系統(tǒng)變量的值
MySQL中有一些系統(tǒng)變量僅僅是會話系統(tǒng)變量,例如MySQL連接ID會話系統(tǒng)變量pseudo_thread_id。showsessionvariableslike'pseudo_thread_id';showvariableslike'pseudo_thread_id';2.5.2查看系統(tǒng)變量的值MySQL中有一些系統(tǒng)變量既是全局系統(tǒng)變量,又是會話系統(tǒng)變量,例如系統(tǒng)變量character_set_client既是全局系統(tǒng)變量,又是會話系統(tǒng)變量。2.5.2查看系統(tǒng)變量的值
此時查看會話系統(tǒng)變量的方法:showsessionvariableslike'character_set_client';showvariableslike'character_set_client';此時查看全局系統(tǒng)變量的方法:
showglobalvariableslike'character_set_client';2.5.2查看系統(tǒng)變量的值作為MySQL編碼規(guī)范,MySQL中的系統(tǒng)變量以兩個“@”開頭。@@global僅僅用于標(biāo)記全局系統(tǒng)變量;@@session僅僅用于標(biāo)記會話系統(tǒng)變量;@@首先標(biāo)記會話系統(tǒng)變量,如果會話系統(tǒng)變量不存在,則標(biāo)記全局系統(tǒng)變量。
2.5.2查看系統(tǒng)變
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)教學(xué)質(zhì)量監(jiān)控制度
- 養(yǎng)老院入住老人醫(yī)療保健制度
- 紀(jì)法知識講解課件
- 企業(yè)內(nèi)部控制與合規(guī)制度
- 2026年及未來5年市場數(shù)據(jù)中國澳洲龍蝦行業(yè)發(fā)展全景監(jiān)測及投資方向研究報告
- 交通標(biāo)志標(biāo)線設(shè)置標(biāo)準(zhǔn)制度
- 2026湖南長沙市一中株洲實驗學(xué)校公開招聘編外合同制教師備考題庫附答案
- 2026福建兆佳貿(mào)易有限公司招聘9人備考題庫附答案
- 2026福建省面向復(fù)旦大學(xué)選調(diào)生選拔工作參考題庫附答案
- 2026福建龍巖市連城縣招聘緊缺學(xué)科中學(xué)教師90人備考題庫附答案
- 貨車司機外包合同協(xié)議
- 酒店店助年終總結(jié)
- 2023民用建筑鋼結(jié)構(gòu)檢測技術(shù)規(guī)程
- 游戲推廣合作協(xié)議書范本
- 江蘇省淮安市2024-2025學(xué)年七年級上學(xué)期期末地理試卷(含答案)
- 導(dǎo)管水密試驗流程
- 房地產(chǎn)企業(yè)分紅權(quán)激勵方案
- 車輛維修安全培訓(xùn)
- 2025版國家開放大學(xué)法學(xué)本科《知識產(chǎn)權(quán)法》期末紙質(zhì)考試總題庫
- 《保障農(nóng)民工工資支付條例》五項制度特別解讀
- 高校校園超市運營管理方案
評論
0/150
提交評論