《MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程》課件MySQL數(shù)據(jù)庫(kù)第2章_第1頁
《MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程》課件MySQL數(shù)據(jù)庫(kù)第2章_第2頁
《MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程》課件MySQL數(shù)據(jù)庫(kù)第2章_第3頁
《MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程》課件MySQL數(shù)據(jù)庫(kù)第2章_第4頁
《MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程》課件MySQL數(shù)據(jù)庫(kù)第2章_第5頁
已閱讀5頁,還剩108頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

123通過本章的學(xué)習(xí),讀者可以掌握一些常用的MySQL命令,從而對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行一些簡(jiǎn)單的管理。本章知識(shí)點(diǎn)較為繁雜,希望保持一份兒耐心。4字符集以及字符序設(shè)置MySQL概述MySQL數(shù)據(jù)庫(kù)管理MySQL表管理5系統(tǒng)變量?jī)?nèi)容一覽123MySQL由瑞典MySQLAB公司開發(fā)。2008年1月MySQL被美國(guó)的SUN公司收購(gòu)。2009年4月SUN公司又被美國(guó)的甲骨文(Oracle)公司收購(gòu)。MySQL服務(wù)的安裝MySQL的特點(diǎn)MySQL服務(wù)的配置45啟動(dòng)與停止MySQL服務(wù)MySQL配置文件2.1MySQL概述67MySQL由瑞典MySQLAB公司開發(fā)。2008年1月MySQL被美國(guó)的SUN公司收購(gòu)。2009年4月SUN公司又被美國(guó)的甲骨文(Oracle)公司收購(gòu)。連接MySQL服務(wù)器關(guān)系數(shù)據(jù)庫(kù)MySQL客戶機(jī)2.1MySQL概述2.1.1數(shù)據(jù)與數(shù)據(jù)庫(kù)1.數(shù)據(jù)2.數(shù)據(jù)處理3.數(shù)據(jù)管理4.數(shù)據(jù)庫(kù):集合、可共享、最小冗余5.數(shù)據(jù)庫(kù)技術(shù):完整性、安全性、并發(fā)控制2.1.2數(shù)據(jù)庫(kù)的發(fā)展1.人工管理階段:數(shù)據(jù)不保存;沒有專門的數(shù)據(jù)管理軟件;數(shù)據(jù)面向應(yīng)用;基本沒有文件的概念。2.文件系統(tǒng)階段數(shù)據(jù)冗余大,缺乏獨(dú)立性,無法集中管理,文件之間缺乏聯(lián)系3.數(shù)據(jù)庫(kù)系統(tǒng)階段:dbms

數(shù)據(jù)的結(jié)構(gòu)化;數(shù)據(jù)共享和獨(dú)立性好;數(shù)據(jù)存取冗余度?。粩?shù)據(jù)庫(kù)管理系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一的管理和控制;為用戶提供有好的接口。數(shù)據(jù)庫(kù)管理系統(tǒng):1、數(shù)據(jù)庫(kù)安全型控制2、數(shù)據(jù)庫(kù)完整性控制功能3、并發(fā)控制4、恢復(fù)功能數(shù)據(jù)庫(kù)相關(guān)概念數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)相關(guān)概念數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(DataBase,DB)是長(zhǎng)期存放在計(jì)算機(jī)內(nèi)、有組織的、可共享的相關(guān)數(shù)據(jù)的集合它將數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性、可被各類用戶共享等特點(diǎn)。數(shù)據(jù)庫(kù)相關(guān)概念數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,DBMS)是位于用戶與操作系統(tǒng)(OS)之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫(kù)的方法,包括數(shù)據(jù)庫(kù)的創(chuàng)建、查詢、更新及各種數(shù)據(jù)控制,它是數(shù)據(jù)庫(kù)系統(tǒng)的核心。數(shù)據(jù)庫(kù)管理系統(tǒng)一般由計(jì)算機(jī)軟件公司提供,目前比較流行的DBMS有VisualFoxPro、Access、SQLServer、MySQL、Oracle等。數(shù)據(jù)庫(kù)相關(guān)概念數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能數(shù)據(jù)定義功能。DBMS提供數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL),用戶通過它可以方便地對(duì)數(shù)據(jù)庫(kù)中的對(duì)象進(jìn)行定義。數(shù)據(jù)操縱功能。DBMS提供數(shù)據(jù)操縱語言(DataManipulationLanguage,DML),用戶可以使用DML操縱數(shù)據(jù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作,如查詢、插入、刪除和修改等。數(shù)據(jù)庫(kù)的運(yùn)行管理。數(shù)據(jù)庫(kù)在創(chuàng)建、運(yùn)用和維護(hù)時(shí)由DBMS統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對(duì)數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。數(shù)據(jù)庫(kù)的創(chuàng)建和維護(hù)功能。包括數(shù)據(jù)庫(kù)初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)功能,數(shù)據(jù)庫(kù)的組織功能和性能監(jiān)視、分析功能等。這些功能通常由一些應(yīng)用程序完成的。數(shù)據(jù)庫(kù)相關(guān)概念數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)凡使用數(shù)據(jù)庫(kù)技術(shù)管理其數(shù)據(jù)的系統(tǒng)都稱為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DataBaseApplicationSystem)。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的應(yīng)用非常廣泛,它可以用于事務(wù)管理、計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)圖形分析和處理及人工智能等系統(tǒng)中。數(shù)據(jù)庫(kù)相關(guān)概念數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem,DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)它由計(jì)算機(jī)硬件、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)用戶構(gòu)成。1、數(shù)據(jù)共享2、數(shù)據(jù)獨(dú)立3、減少數(shù)據(jù)冗余度4、避免數(shù)據(jù)不一致5、加強(qiáng)數(shù)據(jù)保護(hù)數(shù)據(jù)庫(kù)相關(guān)概念數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)用戶包括數(shù)據(jù)庫(kù)管理員、系統(tǒng)分析員、數(shù)據(jù)庫(kù)設(shè)計(jì)人員及應(yīng)用程序開發(fā)人員和終端用戶。數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)是數(shù)據(jù)3個(gè)抽象級(jí)別,它把數(shù)據(jù)的具體組織留給DBMS去處理,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ),這樣就減輕了用戶使用系統(tǒng)的負(fù)擔(dān)。三級(jí)結(jié)構(gòu)之間差別往往很大,為了實(shí)現(xiàn)這3個(gè)抽象級(jí)別的聯(lián)系和轉(zhuǎn)換,DBMS在三級(jí)結(jié)構(gòu)之間提供了兩級(jí)映像(Mapping):外模式/模式映像,模式/內(nèi)模式映像。正是這兩級(jí)映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。

數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)1.模式模式(Schema)也稱概念模式(ConceptualSchema)或邏輯模式,是對(duì)數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。模式實(shí)際上是數(shù)據(jù)庫(kù)數(shù)據(jù)在概念級(jí)上的視圖,一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式。數(shù)據(jù)庫(kù)管理系統(tǒng)提供模式描述語言(SchemaDataDefinitionLanguage,模式DDL)來定義模式。數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)2.外模式外模式(ExternalSchema)也稱子模式(Subschema)或用戶模式,它是對(duì)數(shù)據(jù)庫(kù)用戶(包括程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,即個(gè)別用戶涉及的數(shù)據(jù)的邏輯結(jié)構(gòu)。外模式通常是模式的子集,一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。外模式是保證數(shù)據(jù)庫(kù)安全性的一個(gè)有效措施。數(shù)據(jù)庫(kù)管理系統(tǒng)提供外模式描述語言(外模式DDL)來定義外模式。數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)3.內(nèi)模式內(nèi)模式(InternalSchema)也稱存儲(chǔ)模式(StorageSchema)或物理模式,一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。內(nèi)模式是對(duì)數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。內(nèi)模式的設(shè)計(jì)目標(biāo)是將系統(tǒng)的模式(全局邏輯結(jié)構(gòu))組織成最優(yōu)的物理模式,以提高數(shù)據(jù)的存取效率,改善系統(tǒng)的性能指標(biāo)。數(shù)據(jù)庫(kù)管理系統(tǒng)提供內(nèi)模式描述語言(內(nèi)模式DDL)來定義內(nèi)模式。

數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)4.外模式/模式映像模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)對(duì)應(yīng)于同一個(gè)模式可以有任意多個(gè)外模式對(duì)于每個(gè)外模式,數(shù)據(jù)庫(kù)系統(tǒng)都有一個(gè)外模式/模式映像,它定義了該外模式與模式之間的對(duì)應(yīng)關(guān)系。這些映像定義通常包含在各自外模式的描述中。

數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)5.模式/內(nèi)模式映像數(shù)據(jù)庫(kù)中只有一個(gè)模式,也只有一個(gè)內(nèi)模式,所以模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的。該映像定義通常包含在模式描述中。數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)6.兩級(jí)數(shù)據(jù)獨(dú)立性數(shù)據(jù)獨(dú)立性(DataIndependence)是指應(yīng)用程序和數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響邏輯數(shù)據(jù)獨(dú)立性物理數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)邏輯數(shù)據(jù)獨(dú)立性當(dāng)模式改變時(shí)(如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式/模式映像作相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,因而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱邏輯數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)物理數(shù)據(jù)獨(dú)立性當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了(如選用了另一種存儲(chǔ)結(jié)構(gòu)),由數(shù)據(jù)庫(kù)管理員對(duì)模式/內(nèi)模式映像作相應(yīng)改變,可以保證模式保持不變,因而應(yīng)用程序也不必改變。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡(jiǎn)稱物理數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)特定的應(yīng)用程序是在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的,它依賴于特定的外模式,與數(shù)據(jù)庫(kù)的模式和存儲(chǔ)結(jié)構(gòu)相獨(dú)立。不同的應(yīng)用程序可以共用同一外模式。數(shù)據(jù)庫(kù)的兩級(jí)映像保證了數(shù)據(jù)庫(kù)外模式的穩(wěn)定性,從而從底層保證了應(yīng)用程序的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程序一般不需要修改。1.1什么是數(shù)據(jù)

數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)與程序之間的獨(dú)立性,使數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去。另外,由于數(shù)據(jù)的存取由DBMS管理,用戶不必考慮存取路徑等細(xì)節(jié),從而簡(jiǎn)化了應(yīng)用程序的編寫,大大減少了對(duì)應(yīng)用程序的維護(hù)及修改工作。2.1.5常見的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)1.oracle2.sqlserver3.mysql4.access2.1.6結(jié)構(gòu)化查詢語言1、綜合統(tǒng)一2、高度非過程化3、面向集合的操作方式4、以同一種語法結(jié)構(gòu)提供兩種使用方式5、語言簡(jiǎn)潔,易學(xué)易用

MySQL是一個(gè)單進(jìn)程多線程、支持多用戶、基于客戶機(jī)/服務(wù)器(Client/Server簡(jiǎn)稱C/S)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。性能高效跨平臺(tái)支持簡(jiǎn)單易用開源支持多用戶優(yōu)化的sql查詢算法2.1.1MySQL特點(diǎn)MySQL的使用流程

2.1.1MySQL特點(diǎn)MySQL其他概念:MySQL服務(wù)MySQL服務(wù)實(shí)例MySQL服務(wù)器端口號(hào)2.1.1MySQL特點(diǎn)MySQL服務(wù)的安裝(請(qǐng)參看本書內(nèi)容)。建議自學(xué),并上機(jī)操作。注意:本書使用的MySQL為5.6版本??梢缘奖緯付ǖ木W(wǎng)址下載MySQL圖形化安裝包mysql-5.6.5-m8-win32.msi。

2.1.2MySQL服務(wù)的安裝MySQL服務(wù)的配置(請(qǐng)參看本書內(nèi)容)。建議自學(xué),并上機(jī)操作。配置過程中的其他知識(shí)點(diǎn):OLAP與OLTP

EnableStrictMode選項(xiàng)字符集/字符序MySQL超級(jí)管理員root賬戶my.ini配置文件中2.1.3MySQL服務(wù)的配置MySQL服務(wù)的啟動(dòng)與停止(請(qǐng)參看本書內(nèi)容)。建議自學(xué),并上機(jī)操作。Bin目錄下的mysqld2.1.4啟動(dòng)與停止MySQL服務(wù)my.ini配置文件包含了多種參數(shù)選項(xiàng)組,每個(gè)參數(shù)選項(xiàng)組通過“[]”指定,每個(gè)參數(shù)選項(xiàng)組可以配置多個(gè)參數(shù)信息。通常情況下,每個(gè)參數(shù)遵循“參數(shù)名=參數(shù)值”這種配置格式,參數(shù)名一般是小寫字母,參數(shù)名大小寫敏感。常用的參數(shù)選項(xiàng)組有“[client]”、“[mysql]”以及“[mysqld]”參數(shù)選項(xiàng)組。2.1.5MySQL配置文件[client]參數(shù)選項(xiàng)組:配置了MySQL自帶的MySQL5.6命令行窗口可以讀取的參數(shù)信息。常用的參數(shù)是port(默認(rèn)值是3306)。修改該port值會(huì)導(dǎo)致新打開的MySQL5.6命令行窗口無法連接MySQL服務(wù)器。2.1.5MySQL配置文件[mysql]參數(shù)選項(xiàng)組:配置了MySQL客戶機(jī)程序mysql.exe可以讀取的參數(shù)信息。常用的參數(shù)有“prompt”、“default-character-set=gbk”。修改“[mysql]”參數(shù)選項(xiàng)組中的參數(shù)值,將直接影響新打開的MySQL客戶機(jī)。2.1.5MySQL配置文件[mysqld]參數(shù)選項(xiàng)組:配置了MySQL服務(wù)程序mysqld.exe可以讀取的參數(shù)信息,mysqld.exe啟動(dòng)時(shí),將[mysqld]參數(shù)選項(xiàng)組的參數(shù)信息加載到服務(wù)器內(nèi)存,繼而生成MySQL服務(wù)實(shí)例。2.1.5MySQL配置文件[mysqld]參數(shù)選項(xiàng)組:常用的參數(shù)有“port”、“basedir”、“datadir”、“character-set-server”、“sql_mode”、“max_connections”以及“default_storage_engine”等。2.1.5MySQL配置文件[mysqld]參數(shù)選項(xiàng)組:修改“[mysqld]”參數(shù)選項(xiàng)組的參數(shù)值,只有重新啟動(dòng)MySQL服務(wù),將修改后的配置文件參數(shù)信息加載到服務(wù)器內(nèi)存后,新配置文件才會(huì)在新的MySQL服務(wù)實(shí)例中生效。如果“[mysqld]”參數(shù)選項(xiàng)組的參數(shù)信息出現(xiàn)錯(cuò)誤,將會(huì)導(dǎo)致MySQL服務(wù)無法啟動(dòng)。2.1.5MySQL配置文件MySQL客戶機(jī)(本書使用前兩個(gè)):MySQL5.6命令行窗口

CMD命令提示符窗口

WEB瀏覽器(例如phpMyAdmin)第三方客戶機(jī)程序(例如MySQL-Front、MySQL

ManagerforMySQL等)2.1.6MySQL客戶機(jī)phpMyAdmin2.1.6MySQL客戶機(jī)MySQL-Front2.1.6MySQL客戶機(jī)MySQL

ManagerforMySQL2.1.6MySQL客戶機(jī)2.1.6MySQL客戶機(jī)HeidiSQLMySQL客戶機(jī)連接MySQL服務(wù)器須提供:合法的登錄主機(jī):解決“from”的問題。合法的賬戶名以及密碼:解決“who”的問題。MySQL服務(wù)器主機(jī)名(或IP地址):解決“to”的問題。端口號(hào):解決“多卡多待”的問題。MySQL客戶機(jī)與MySQL服務(wù)器是同一臺(tái)主機(jī)時(shí),主機(jī)名可以使用localhost(或者127.0.0.1)。2.1.7連接MySQL服務(wù)器當(dāng)MySQL客戶機(jī)與MySQL服務(wù)器是同一臺(tái)主機(jī)時(shí),打開命令提示符窗口,輸入mysql-h127.0.0.1-P3306-uroot–proot或者mysql-hlocalhost-P3306-uroot–proot然后回車(注意-p后面緊跟密碼root),即可實(shí)現(xiàn)本地MySQL客戶機(jī)與本地MySQL服務(wù)器之間的成功連接。2.1.7連接MySQL服務(wù)器2.1.7連接MySQL服務(wù)器123MySQL由瑞典MySQLAB公司開發(fā),默認(rèn)情況下MySQL使用的是latin1字符集。由此可能導(dǎo)致MySQL數(shù)據(jù)庫(kù)不夠支持中文字符串查詢或者發(fā)生中文字符串亂碼等問題。

MySQL字符集與字符序字符集及字符序概念MySQL的字符集轉(zhuǎn)換過程45MySQL字符集的設(shè)置SQL腳本文件2.2字符集以及字符序設(shè)置字符(Character)是人類語言最小的表義符號(hào),例如‘A’、‘B’等。給定一系列字符,對(duì)每個(gè)字符賦予一個(gè)數(shù)值,用數(shù)值來代表對(duì)應(yīng)的字符,這個(gè)數(shù)值就是字符的編碼(CharacterEncoding)。給定一系列字符并賦予對(duì)應(yīng)的編碼后,所有這些“字符和編碼對(duì)”組成的集合就是字符集(CharacterSet)。

2.2.1字符集及字符序概念2.2.1字符集及字符序概念字符序(Collation)是指在同一字符集內(nèi)字符之間的比較規(guī)則。一個(gè)字符集包含多種字符序,每個(gè)字符序唯一對(duì)應(yīng)一種字符集。MySQL字符序命名規(guī)則是:以字符序?qū)?yīng)的字符集名稱開頭,以國(guó)家名居中(或以general居中),以ci、cs或bin結(jié)尾。ci表示大小寫不敏感,cs表示大小寫敏感,bin表示按二進(jìn)制編碼值比較。2.2.1字符集及字符序概念使用MySQL命令showcharacterset;即可查看當(dāng)前MySQL服務(wù)實(shí)例支持的字符集、字符集默認(rèn)的字符序以及字符集占用的最大字節(jié)長(zhǎng)度等信息latin1支持西歐字符、希臘字符等gbk支持中文簡(jiǎn)體字符big5支持中文繁體字符utf8幾乎支持世界所有國(guó)家的字符。2.2.2MySQL字符集及字符序使用MySQL命令showvariableslike'character%';即可查看當(dāng)前MySQL服務(wù)實(shí)例使用的字符集。2.2.2MySQL字符集及字符序

character_set_client:MySQL客戶機(jī)字符集。character_set_connection:數(shù)據(jù)通信鏈路字符集,當(dāng)MySQL客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求時(shí),請(qǐng)求數(shù)據(jù)以該字符集進(jìn)行編碼。character_set_database:數(shù)據(jù)庫(kù)字符集。character_set_filesystem:MySQL服務(wù)器文件系統(tǒng)字符集,該值是固定的binary。2.2.2MySQL字符集及字符序character_set_results:結(jié)果集的字符集,MySQL服務(wù)器向MySQL客戶機(jī)返回執(zhí)行結(jié)果時(shí),執(zhí)行結(jié)果以該字符集進(jìn)行編碼。character_set_server:MySQL服務(wù)實(shí)例字符集。character_set_system:元數(shù)據(jù)(字段名、表名、數(shù)據(jù)庫(kù)名等)的字符集,默認(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ù)實(shí)例支持的字符序。2.2.2MySQL字符集及字符序2.2.3MySQL字符集的轉(zhuǎn)換過程方法1:修改my.ini配置文件,可修改MySQL默認(rèn)的字符集。方法2:MySQL提供下列MySQL命令可以“臨時(shí)地”修改MySQL“當(dāng)前會(huì)話的”字符集以及字符序。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í)一次性地”設(shè)置character_set_client、character_set_connection以及character_set_results的字符集為gbk方法4:連接MySQL服務(wù)器時(shí)指定字符集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、我的電腦-屬性-高級(jí)-環(huán)境變量path:c:\programfiles\mysql\mysql56\bin4、修改配置文件#basedir=C:\ProgramFiles\MYSQL\mysql5.6\bin#datadir=C:\ProgramFiles\MYSQL\mysql5.6\bin\data5、以管理員身份運(yùn)行cmdCdC:\ProgramFiles\MYSQL\mysql5.6\binMysqld–install服務(wù)名–defaults-file=d:路徑\my.inimysql6、登錄:Mysql–uroot-p123

數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)庫(kù)對(duì)象的容器。MySQL數(shù)據(jù)庫(kù)的管理主要包括數(shù)據(jù)庫(kù)的創(chuàng)建、選擇當(dāng)前操作的數(shù)據(jù)庫(kù)、顯示數(shù)據(jù)庫(kù)結(jié)構(gòu)以及刪除數(shù)據(jù)庫(kù)等操作

。查看數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)顯示數(shù)據(jù)庫(kù)結(jié)構(gòu)45選擇當(dāng)前操作的數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)2.3MySQL數(shù)據(jù)庫(kù)管理

createdatabasechoose;成功創(chuàng)建choose數(shù)據(jù)庫(kù)后,數(shù)據(jù)庫(kù)根目錄下會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)目錄。2.3.1創(chuàng)建數(shù)據(jù)庫(kù)

使用MySQL命令showdatabases;即可查看MySQL服務(wù)實(shí)例上所有的數(shù)據(jù)庫(kù)

2.3.2查看數(shù)據(jù)庫(kù)information_schema其中保存著關(guān)于MySQL服務(wù)器所維護(hù)的所有其他數(shù)據(jù)庫(kù)的信息。如數(shù)據(jù)庫(kù)名,數(shù)據(jù)庫(kù)的表,表欄的數(shù)據(jù)類型與訪問權(quán)限等。Mysql:賬戶信息,權(quán)限信息,存儲(chǔ)過程,event,時(shí)區(qū)等信息。performance_schema:主要用于收集數(shù)據(jù)庫(kù)服務(wù)器性能參數(shù)。

提供以下功能:

1.提供進(jìn)程等待的詳細(xì)信息,包括鎖、互斥變量、文件信息;

2.保存歷史的事件匯總信息,為提供MySQL服務(wù)器性能做出詳細(xì)的判斷;

3.對(duì)于新增和刪除監(jiān)控事件點(diǎn)都非常容易,并可以隨意改變mysql服務(wù)器的監(jiān)控周期.

使用MySQL命令showcreatedatabasechoose;可以查看choose數(shù)據(jù)庫(kù)的相關(guān)信息(例如MySQL版本ID號(hào)、默認(rèn)字符集等信息)。2.3.3顯示數(shù)據(jù)庫(kù)結(jié)構(gòu)

執(zhí)行“usechoose;”命令后,后續(xù)的MySQL命令以及SQL語句將自動(dòng)操作choose數(shù)據(jù)庫(kù)中所有數(shù)據(jù)庫(kù)對(duì)象。

修改數(shù)據(jù)庫(kù):Alterdatabasechoose2.3.4選擇當(dāng)前操作的數(shù)據(jù)庫(kù)刪除student數(shù)據(jù)庫(kù),使用SQL語句dropdatabasestudent;字符集:字符序:比較規(guī)則Showcharacterset;cicsBinCreatedatabasechooseDefaultcharactersetgb2312Defaultcollategb2312_chinese_ci;2.3.5刪除數(shù)據(jù)庫(kù)123表是數(shù)據(jù)庫(kù)中最為重要的數(shù)據(jù)庫(kù)對(duì)象

設(shè)置默認(rèn)的存儲(chǔ)引擎MyISAM和InnoDB存儲(chǔ)引擎創(chuàng)建數(shù)據(jù)庫(kù)表45顯示表結(jié)構(gòu)表記錄的管理2.4MySQL表管理67表是數(shù)據(jù)庫(kù)中最為重要的數(shù)據(jù)庫(kù)對(duì)象

刪除表InnoDB表空間2.4MySQL表管理MySQL提供了插件式(Pluggable)的存儲(chǔ)引擎,存儲(chǔ)引擎是基于表的,同一個(gè)數(shù)據(jù)庫(kù),不同的表,存儲(chǔ)引擎可以不同。甚至同一個(gè)數(shù)據(jù)庫(kù)表,在不同的場(chǎng)合可以應(yīng)用不同的存儲(chǔ)引擎。

2.4.1MyISAM和InnoDB存儲(chǔ)引擎使用MySQL命令“showengines;”,即可查看MySQL服務(wù)實(shí)例支持的存儲(chǔ)引擎。2.4.1MyISAM和InnoDB存儲(chǔ)引擎MyISAM是MySQL官方提供的存儲(chǔ)引擎,其特點(diǎn)是不支持事務(wù),支持表鎖、全文索引、高速存儲(chǔ),對(duì)于一些聯(lián)機(jī)分析處理(OLAP)系統(tǒng),操作速度快。每個(gè)MyISAM在磁盤上存儲(chǔ)成三個(gè)文件。文件名都和表名相同,擴(kuò)展名分別是.frm(存儲(chǔ)表定義)、.MYD(MYData,存儲(chǔ)數(shù)據(jù))、.MYI(MYIndex,存儲(chǔ)索引)。這里特別要注意的是MyISAM不緩存數(shù)據(jù)文件,只緩存索引文件。InnoDB存儲(chǔ)引擎支持事務(wù),主要面向OLTP方面的應(yīng)用,其特點(diǎn)是行鎖設(shè)置、支持外鍵,并支持類似于Oracle的非鎖定讀,即默認(rèn)情況下讀不產(chǎn)生鎖。InnoDB將數(shù)據(jù)放在一個(gè)邏輯表空間中(類似Oracle)。InnoDB通過多版本并發(fā)控制來獲得高并發(fā)性,實(shí)現(xiàn)了ANSI標(biāo)準(zhǔn)的4種隔離級(jí)別,默認(rèn)為Repeatable,使用一種被稱為next-keylocking的策略避免幻讀。對(duì)于表中數(shù)據(jù)的存儲(chǔ),InnoDB采用類似Oracle索引組織表Clustered的方式進(jìn)行存儲(chǔ)。InnoDB存儲(chǔ)引擎提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全。但是對(duì)比Myisam的存儲(chǔ)引擎,InnoDB寫的處理效率差一些并且會(huì)占用更多的磁盤空間以保留數(shù)據(jù)和索引。1.InnoDB存儲(chǔ)引擎的特點(diǎn)支持外鍵(ForeignKey)支持事務(wù)(Transaction):如果某張表主要提供OLTP支持,需要執(zhí)行大量的增、刪、改操作(insert、delete、update語句),出于事務(wù)安全方面的考慮,InnoDB存儲(chǔ)引擎是更好的選擇。最新版本的MySQL已經(jīng)開始支持全文檢索。oltp面向交易的處理系統(tǒng),其基本特征是顧客的原始數(shù)據(jù)可以立即傳送到計(jì)算中心進(jìn)行處理,并在很短的時(shí)間內(nèi)給出處理結(jié)果。2.4.1MyISAM和InnoDB存儲(chǔ)引擎2.MyISAM存儲(chǔ)引擎的特點(diǎn)MyISAM具有檢查和修復(fù)表的大多數(shù)工具。MyISAM表可以被壓縮

MyISAM表最早支持全文索引

但MyISAM表不支持事務(wù)

但MyISAM表不支持外鍵(ForeignKey)。如果需要執(zhí)行大量的select語句,出于性能方面的考慮,MyISAM存儲(chǔ)引擎是更好的選擇。2.4.1MyISAM和InnoDB存儲(chǔ)引擎MySQL5.6默認(rèn)的存儲(chǔ)引擎是InnoDB。使用MySQL命令setdefault_storage_engine=MyISAM;可以“臨時(shí)地”將MySQL“當(dāng)前會(huì)話的”存儲(chǔ)引擎設(shè)置為MyISAM,使用MySQL命令“showengines;”可以查看當(dāng)前MySQL服務(wù)實(shí)例默認(rèn)的存儲(chǔ)引擎。2.4.2設(shè)置默認(rèn)的存儲(chǔ)引擎使用SQL語句“createtable表名”即可創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)表。例如:

usechoose;setdefault_storage_engine=InnoDB;createtablemy_table(todaydatetime,namechar(20));2.4.3創(chuàng)建數(shù)據(jù)庫(kù)表成功創(chuàng)建InnoDB存儲(chǔ)引擎的my_table表后,MySQL服務(wù)實(shí)例會(huì)在數(shù)據(jù)庫(kù)目錄choose中自動(dòng)創(chuàng)建一個(gè)名字為表名、后綴名為frm的文件。my_table.frm。2.4.3創(chuàng)建數(shù)據(jù)庫(kù)表將my_table表的存儲(chǔ)引擎修改為MyISAM。usechoose;altertablemy_tableengine=MyISAM;2.4.3創(chuàng)建數(shù)據(jù)庫(kù)表使用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:完成本書場(chǎng)景描述1:MyISAM表記錄的管理的任務(wù)要求。任務(wù)布置2:完成本書場(chǎng)景描述2:InnoDB表記錄的管理的任務(wù)要求。2.4.5表記錄的管理

1.共享表空間:MySQL服務(wù)實(shí)例承載的所有數(shù)據(jù)庫(kù)的所有InnoDB表的數(shù)據(jù)信息、索引信息、各種元數(shù)據(jù)信息以及事務(wù)的回滾(UNDO)信息,全部存放在共享表空間文件中。默認(rèn)情況下該文件位于數(shù)據(jù)庫(kù)根目錄下,文件名是ibdata1,且文件的初始大小為10M。可以使用MySQL命令“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)的信息,用來支持如指示存儲(chǔ)位置、歷史數(shù)據(jù)、資源查找、文件記錄等功能。元數(shù)據(jù)算是一種電子式目錄

2.獨(dú)享表空間:如果將全局系統(tǒng)變量innodb_file_per_table的值設(shè)置為ON(innodb_file_per_table的默認(rèn)值為OFF),那么之后再創(chuàng)建InnoDB存儲(chǔ)引擎的新表,這些表的數(shù)據(jù)信息、索引信息都將保存到獨(dú)享表空間文件。2.4.6InnoDB表空間獨(dú)享表空間的設(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:完成本書場(chǎng)景描述3的任務(wù)要求。2.4.6InnoDB表空間使用SQL語句droptabletable_name;即可刪除名為table_name的表。刪除表后,MySQL服務(wù)實(shí)例會(huì)自動(dòng)刪除該表結(jié)構(gòu)定義文件(例如second_table.frm文件),以及數(shù)據(jù)、索引信息。該命令慎用!

2.4.7刪除表123MySQL數(shù)據(jù)庫(kù)中,變量分為系統(tǒng)變量(以@@開頭)以及用戶自定義變量(以@開頭)。查看系統(tǒng)變量的值全局系統(tǒng)變量與會(huì)話系統(tǒng)變量設(shè)置系統(tǒng)變量的值2.5系統(tǒng)變量每一個(gè)MySQL客戶機(jī)成功連接MySQL服務(wù)器后,都會(huì)產(chǎn)生與之對(duì)應(yīng)的會(huì)話。會(huì)話期間,MySQL服務(wù)實(shí)例會(huì)在MySQL服務(wù)器內(nèi)存中生成與該會(huì)話對(duì)應(yīng)的會(huì)話系統(tǒng)變量,這些會(huì)話系統(tǒng)變量的初始值是全局系統(tǒng)變量值的拷貝。

2.5.1全局系統(tǒng)變量與會(huì)話系統(tǒng)變量由于各會(huì)話在會(huì)話期間所做的操作不盡相同,為了標(biāo)記各個(gè)會(huì)話,會(huì)話系統(tǒng)變量又新增了12個(gè)變量。2.5.1全局系統(tǒng)變量與會(huì)話系統(tǒng)變量2.5.1全局系統(tǒng)變量與會(huì)話系統(tǒng)變量

使用“showglobalvariables;”命令即可查看MySQL服務(wù)器內(nèi)存中所有的全局系統(tǒng)變量信息(有393項(xiàng)之多)。使用“showsessionvariables;”命令即可查看與當(dāng)前會(huì)話相關(guān)的所有會(huì)話系統(tǒng)變量以及所有的全局系統(tǒng)變量(有405項(xiàng)之多),此處session關(guān)鍵字可以省略。

2.5.2查看系統(tǒng)變量的值

MySQL中有一些系統(tǒng)變量?jī)H僅是全局系統(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)變量?jī)H僅是會(huì)話系統(tǒng)變量,例如MySQL連接ID會(huì)話系統(tǒng)變量pseudo_thread_id。showsessionvariableslike'pseudo_thread_id';showvariableslike'pseudo_thread_id';2.5.2查看系統(tǒng)變量的值MySQL中有一些系統(tǒng)變量既是全局系統(tǒng)變量,又是會(huì)話系統(tǒng)變量,例如系統(tǒng)變量character_set_client既是全局系統(tǒng)變量,又是會(huì)話系統(tǒng)變量。2.5.2查看系統(tǒng)變量的值

此時(shí)查看會(huì)話系統(tǒng)變量的方法:showsessionvariableslike'character_set_client';showvariableslike'character_set_client';此時(shí)查看全局系統(tǒng)變量的方法:

showglobalvariableslike'character_set_client';2.5.2查看系統(tǒng)變量的值作為MySQL編碼規(guī)范,MySQL中的系統(tǒng)變量以兩個(gè)“@”開頭。@@global僅僅用于標(biāo)記全局系統(tǒng)變量;@@session僅僅用于標(biāo)記會(huì)話系統(tǒng)變量;@@首先標(biāo)記會(huì)話系統(tǒng)變量,如果會(huì)話系統(tǒng)變量不存在,則標(biāo)記全局系統(tǒng)變量。

2.5.2查看系統(tǒng)變

溫馨提示

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

評(píng)論

0/150

提交評(píng)論