![云數(shù)據(jù)庫應用(MySQL)-第3章-創(chuàng)建數(shù)據(jù)庫課件_第1頁](http://file4.renrendoc.com/view/2160a9453912bd427ed02b437b719c68/2160a9453912bd427ed02b437b719c681.gif)
![云數(shù)據(jù)庫應用(MySQL)-第3章-創(chuàng)建數(shù)據(jù)庫課件_第2頁](http://file4.renrendoc.com/view/2160a9453912bd427ed02b437b719c68/2160a9453912bd427ed02b437b719c682.gif)
![云數(shù)據(jù)庫應用(MySQL)-第3章-創(chuàng)建數(shù)據(jù)庫課件_第3頁](http://file4.renrendoc.com/view/2160a9453912bd427ed02b437b719c68/2160a9453912bd427ed02b437b719c683.gif)
![云數(shù)據(jù)庫應用(MySQL)-第3章-創(chuàng)建數(shù)據(jù)庫課件_第4頁](http://file4.renrendoc.com/view/2160a9453912bd427ed02b437b719c68/2160a9453912bd427ed02b437b719c684.gif)
![云數(shù)據(jù)庫應用(MySQL)-第3章-創(chuàng)建數(shù)據(jù)庫課件_第5頁](http://file4.renrendoc.com/view/2160a9453912bd427ed02b437b719c68/2160a9453912bd427ed02b437b719c685.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第3 章 創(chuàng)建數(shù)據(jù)庫1了解數(shù)據(jù)庫的基本概念掌握創(chuàng)建數(shù)據(jù)庫的方法掌握查看和刪除數(shù)據(jù)庫方法了解數(shù)據(jù)庫存儲引擎的特點數(shù)據(jù)庫是存儲數(shù)據(jù)和數(shù)據(jù)對象的容器,是數(shù)據(jù)庫管理系統(tǒng)的核心。在MySQL中,數(shù)據(jù)庫分為系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫兩大類。1 系統(tǒng)數(shù)據(jù)庫MySQL安裝完成后,將會在其data目錄下自動創(chuàng)建幾個必需的數(shù)據(jù)庫,用戶不能直接修改這些數(shù)據(jù)庫,可以在Command Line Client模式下,用SHOW DATABASE命令查看這些系統(tǒng)數(shù)據(jù)庫,如圖3.1所示:3.1 MySQL數(shù)據(jù)庫概述各個系統(tǒng)數(shù)據(jù)庫的作用如下。information_schema數(shù)據(jù)庫:用于存儲系統(tǒng)中一些數(shù)據(jù)庫對象信息,如用戶表信息
2、、列信息、權限信息、字符集和分區(qū)信息等;mysql數(shù)據(jù)庫:用于存儲系統(tǒng)的用戶權限;performance_schema數(shù)據(jù)庫:用于存儲數(shù)據(jù)庫服務器性能參數(shù);sakila數(shù)據(jù)庫:用于存放數(shù)據(jù)庫樣本,該庫中的表都是一些樣本表。sys數(shù)據(jù)庫:這個數(shù)據(jù)庫是mysql5.7增加了的系統(tǒng)數(shù)據(jù)庫,通過這個庫可以快速的了解系統(tǒng)的元數(shù)據(jù)信息,這個庫可以方便數(shù)據(jù)庫管理員查看到數(shù)據(jù)庫的很多信息,從而為解決數(shù)據(jù)庫的性能瓶頸提供幫助。world數(shù)據(jù)庫:提供了關于城市、國家和語言的相關信息。 注意,用戶不能隨意刪除系統(tǒng)自帶的數(shù)據(jù)庫,否則會使MySQL不能正常運行。用戶數(shù)據(jù)庫是用戶根據(jù)開發(fā)需求而建立的數(shù)據(jù)庫,例如,用戶建立
3、一個名叫“XSCJ”的用戶數(shù)據(jù)庫后,可以在Command Line Client模式下,用SHOW DATABASE命令查看。在客戶端軟件SQLyog中查看數(shù)據(jù)庫,只需雙擊窗口左側的服務器名“rootlocahost”即可2 用戶數(shù)據(jù)庫在MySQL中的所有對象都需要命名,各對象標識符的命名規(guī)則如下:名稱由大小寫形式的英文字母、中文、數(shù)字、下劃線、#、$、下劃線以及其它語言的字母字符等符號組成;名稱首字母不能是數(shù)字和$符號,并且對不加引號的標識符不允許完全由數(shù)字字符構成(與數(shù)字難以區(qū)分);名稱長度不超過128個字符;名稱中不允許有空格和特殊字符;名稱不能使用MySQL的保留字。4 對象標識符的命
4、名規(guī)則 創(chuàng)建數(shù)據(jù)庫的方法有命令行方式和圖形化界面方式兩種。命令行方式包括:Windows命令行方式、MySQL Command Line Client命令行方式、客戶端軟件SQLyog的命令行方式;圖形化界面方式是采用各種客戶端軟件來實現(xiàn),如采用SQLyog的圖形化界面。對數(shù)據(jù)庫的操作,采用圖形化界面方式簡單易學,適合于初學者學習,或者用于完成一些初始化的工作;掌握命令行模式難度比圖形化界面方式更大,但在實際應用中,命令行方式更適用,在各種編程語言、腳本語言中調(diào)用數(shù)據(jù)庫,都需要采用MySQL命令形式實現(xiàn)。下面分別介紹這兩種方式創(chuàng)建數(shù)據(jù)庫。3.2 創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫有三種命令行方式:Windo
5、ws命令行方式、MySQL Command Line Client命令行方式和客戶端軟件SQLyog的命令行方式,這三種方式的語法結構完全相同,只是在顯示結果時,在客戶端軟件SQLyog下看起來更整齊一些,用戶可根據(jù)自己的習慣選擇不同的命令行方式。在MySQL中創(chuàng)建數(shù)據(jù)庫的語法結構如下:CREATE DATABASE database_name其中,CREATE DATABASE是創(chuàng)建數(shù)據(jù)庫的關鍵字,database_name參數(shù)是所有創(chuàng)建的數(shù)據(jù)庫的名字,注意在命名時,需要按前面講述的“對象標識符的命名規(guī)則”來命名。例3.2 在MySQL Command Line Client命令行方式下創(chuàng)建
6、一個名為XSCJ的數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫的命令為:create database XSCJ;在執(zhí)行完該命令后,產(chǎn)生一行提示:“Query OK,1 row affected (0.00 sec) ”,這句提示的含義是:Query OK 表示SQL語句成功執(zhí)行;1 row affected 表示影響了數(shù)據(jù)庫中的一行記錄;0.00 sec 表示操作的執(zhí)行時間,由于這是一個非常簡單的命令,執(zhí)行時間連0.01秒都不到。3.2.2 命令行方式下創(chuàng)建數(shù)據(jù)庫3.3.1 數(shù)據(jù)庫查看關于數(shù)據(jù)庫的查看,一種是通過MySQL Command Line Client命令行方式下用“show databases”來查看(如
7、在3.1節(jié)中查看系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫等)。另一種是在客戶端軟件SQLyog中查看(如圖3.12所示)。3.3 數(shù)據(jù)庫相關操作在MySQL數(shù)據(jù)庫管理系統(tǒng)中,存在了許多數(shù)據(jù)庫,在對具體的某個數(shù)據(jù)庫操作之前,一定要先選擇這個數(shù)據(jù)庫。在命令行下,選擇數(shù)據(jù)庫的語法規(guī)則:USE database_name其中,database_name參數(shù)表示要選擇的數(shù)據(jù)庫名。注意,在選擇數(shù)據(jù)庫之前,需要確定MySQL數(shù)據(jù)庫管理系統(tǒng)中已經(jīng)存在該數(shù)據(jù)庫。例3.4 執(zhí)行SQL語句,選擇名為DB3的數(shù)據(jù)庫。3.3.2 選擇數(shù)據(jù)庫mysql use db3ERROR 1049 (42000): Unknown database
8、 db3發(fā)生錯誤,原因是MySQL數(shù)據(jù)庫管理系統(tǒng)中不存在該數(shù)據(jù)庫。因此,在選擇數(shù)據(jù)庫前,可用上一小節(jié)講的用“show database”來查看一下該數(shù)據(jù)庫是否存在。例3.5 執(zhí)行SQL語句,選擇名為DB的數(shù)據(jù)庫。mysql use dbDatabase changed這里的提示是Database changed,說明數(shù)據(jù)庫已選擇成功。在客戶端軟件SQLyog中,通過命令行方式,執(zhí)行USE命令來選擇數(shù)據(jù)庫。另外,還可以在SQLyog的“對象瀏覽器”中,用鼠標左鍵單擊要選擇的數(shù)據(jù)庫,完成數(shù)據(jù)庫的選擇。3.3.2 選擇數(shù)據(jù)庫1 通過命令行方式刪除數(shù)據(jù)庫通過命令行方式刪除數(shù)據(jù)庫的語法形式如下:DROP
9、 DATABASE database_name其中,database_name就是要刪除的數(shù)據(jù)庫名。例3.6 通過命令行方式刪除數(shù)據(jù)庫。在刪除數(shù)據(jù)庫前,先查詢MySQL數(shù)據(jù)庫管理系統(tǒng)中已存在有哪些數(shù)據(jù)庫。刪除用戶數(shù)據(jù)庫DB1(不能刪除系統(tǒng)數(shù)據(jù)庫,否則系統(tǒng)會出錯):mysql drop database db1;Query OK, 0 rows affected (0.00 sec)3.3.3 刪除數(shù)據(jù)庫在客戶端軟件中,也可以采用命令行方式刪除數(shù)據(jù)庫db,其語法格式與Command Line Client一樣,在此不再重復。下面講通過圖形界面來刪除數(shù)據(jù)庫。例3.7在SQLyog中用圖形界面方式刪
10、除db2數(shù)據(jù)庫。在SQLyog中用圖形界面方式刪除db2數(shù)據(jù)庫的過程:在db2數(shù)據(jù)庫上右鍵,在彈出的快捷菜單中選“更多數(shù)據(jù)庫操作”“刪除數(shù)據(jù)庫”如圖3.16所示。2 通過客戶端軟件SQLyog來刪除數(shù)據(jù)庫存儲引擎就是如何存取數(shù)據(jù)、建立索引、更新和查詢數(shù)據(jù)的實現(xiàn)方法。在數(shù)據(jù)庫管理系統(tǒng)(DBMS)中,不同的存儲引擎提供不同的存儲機制、索引方法和鎖定水平等。3.4.1 MySQL存儲引擎簡介 在MySQL5.7中提供了多種不同的存儲引擎。存儲引擎是針對表而言的,同一個MySQL數(shù)據(jù)庫中的不同的表,可以使用不同的存儲引警。MySQL5.7提供的存儲引擎有:InnoDB、MRG_MYISAM, Memo
11、ry,BLACKHOLE,MyISAM,CSV,Archive,PERFORMANCE_ SCHEMA ,F(xiàn)ederated等,在SQLyog中(也可以在Command Line Client中)用show engines命令查看系統(tǒng)所支持的存儲引擎類型,結果如圖3.18所示。3.4 數(shù)據(jù)庫存儲引擎Support列表示該存儲引擎是否能使用,YES表示可以使用,NO表示不能使用,DEFAULT表示該引擎為當前默認的存儲引擎;Comment列表示該引擎的評論;Transactions列表示該存儲引擎是否支持事務;XA列表示該存儲引擎支持的分布式是否符合XA規(guī)范;Savepoints列表示該存儲引擎
12、是否支持事務處理中的保存點。下面對介紹MySQL中常用的存儲引擎。InnoDB是一種事務型存儲引擎,在MySQL5.5.5之后,InnoDB就作為默認的存儲引擎。InnoDB存儲引擎現(xiàn)已經(jīng)被很多互聯(lián)網(wǎng)公司使用,為用戶操作非常大的數(shù)據(jù)存儲提供了一個強大的解決方案。在InnoDB中引入了行級鎖定和外鍵約束,其主要特征有:1.多表查詢能力:在MySQL的查詢中,使用InnoDB存儲引擎的表可以自由地與其它存儲類型的表混合查詢。2.高性能:InnoDB存儲引擎的CPU效率非常高,這為處理巨大數(shù)據(jù)量提供了高性能的保證,因此InnoDB存儲引擎被用在眾多需要高性能的大型數(shù)據(jù)庫站點上。3.自動災難恢復:與其
13、它存儲引擎不同,InnoDB給MySQL提供了具有提交、回滾和崩潰恢復能力的事務安全能力,使表能夠自動從災難中恢復過來。4.外鍵約束:MySQL支持外鍵的存儲引擎只有InnoDB,外鍵所在的表為子表,外鍵依賴的表為父表。當刪除、更新父表的某條記錄時,子表也必須相應的改變。在創(chuàng)建索引時,可指定刪除、更新父表對子表的相應操作。5.支持自動增加列AUTO_INCREMENT屬性:存儲表中的數(shù)據(jù)時,每張表的存儲都是按主鍵順序存放,如果表沒有定義主鍵,則InnoDB存儲引擎會為每一行生與一個6字節(jié)的ROWID,并以此作為主鍵,此ROWID由自動增長列的值進行填充。 InnoDB不創(chuàng)建目錄,在使用Inno
14、DB存儲引擎時,MySQL將在MySQL數(shù)據(jù)目錄下創(chuàng)建一個名為ibdata1的10MB的自動擴展數(shù)據(jù)文件,以及兩個名為ib_logfile0和ib_logfile1的5MB的日志文件。3.4.2 InnoDB基于MyISAM存儲引擎的表是獨立于操作系統(tǒng)的,這說明可以輕松地將其從Windows服務器移植到Linux服務器;每當我們建立一個MyISAM引擎的表時,就會在本地磁盤上建立3個文件,文件名是以表的名字作為主文件名,擴展名分別為:.frm,.MYD和.MYI。例如,建一個基于MyISAM存儲引擎的表DB1,那么就會生成以下三個文件:DB1.frm(存儲表定義),DB1.MYD(存儲數(shù)據(jù)),
15、DB1.MYI(存儲索引)。MyISAM存儲引擎在MySQL5.5.5之前的版本中是默認的存儲引擎,主要用于Web、數(shù)據(jù)倉儲和其它應用環(huán)境中,具有很高的插入、查詢速度,因此常用于選擇密集型的表和插入密集型的表中。但由于MyISAM存儲引擎不支持事務,這就意味著有事務處理需求的表,不能使用MyISAM存儲引擎。MYISAM存儲引擎的優(yōu)點是占用空間小,相對InnoDB來說處理速度更快;缺點是不支持事務的完整性和并發(fā)性約束。3.4.3 MyISAM存儲引擎MySQL Memory存儲引擎為查詢和引用其它表提供快速訪問速度。MySQL Memory存儲引擎實現(xiàn)最快的響應時間,采用的邏輯存儲介質是系統(tǒng)內(nèi)
16、存。雖然在內(nèi)存中存儲表數(shù)據(jù)會提供很高的性能,但這種將數(shù)據(jù)表存儲數(shù)據(jù)表也有缺陷,當mysql的守護進程崩潰時,所有的Memory數(shù)據(jù)都會丟失,并且要求存儲在Memory數(shù)據(jù)表里的數(shù)據(jù)使用的是長度不變的格式。Memory存儲引擎的特點有:1不支持BLOB和TEXT這樣的長度可變的數(shù)據(jù)類型;2 雖然VARCHAR也是一種長度可變的類型,但因為它在MySQL內(nèi)部當作長度固定不變的CHAR類型,所以可以使用;3存儲在Memory表中的數(shù)據(jù)如果突然丟失,不會對應用服務產(chǎn)生實質的負面影響;4 可以在一個Memory表中有非唯一鍵;5當目標數(shù)據(jù)較小,而且被非常頻繁地訪問時可使用Memory存儲引擎,并可以通過
17、參數(shù)max_heap_table_size控制Memory表的大??;6 對要求必須立即可用臨時數(shù)據(jù),可以存放在Memory表中,以加快訪問速度;7 Memory表支持AUTO_INCREMENT列和對包含了NULL值的列的索引。8 當不再需要Memory表的內(nèi)容時,需要釋放Memory表使用的內(nèi)存,可執(zhí)行DELETE FROM或TRUNCATE TABLE,或者使用DROP TABLE將整個表刪除。3.4.4 MEMORY存儲引擎在前面提到過,在MySQL5.5.5之后,InnoDB就作為默認的存儲引擎,可根據(jù)應用需要來修改MySQL的默認存儲引擎。在圖XX可見,當前默認的存儲引擎是InnoD
18、B,也可以通過命令來查看默認存儲引擎。例3.8 在MySQL中通過SHOW VARIABLES來查看默認存儲引擎。mysql show variables like default_storage_engine;+-+-+| Variable_name | Value |+-+-+| default_storage_engine | InnoDB |+-+-+結果顯示,默認存儲引擎為InnoDB。3.4.5 默認存儲引擎在MySQL系統(tǒng)中,如果需要修改默認存儲引擎,可以通過修改MySQL數(shù)據(jù)庫管理系統(tǒng)的配置文件my.ini,具體方法如下:打開my.ini配置文件,找到其中的mysqld組,(部
19、分)內(nèi)容如下:mysqld# The TCP/IP Port the MySQL Server will listen onport=3306 / 服務器端口號# Path to installation directory. All paths are usually resolved relative to this.# basedir=D:/Program Files/MySQL/MySQL Server 5.7/ /服務器安裝目錄# Path to the database rootdatadir=d:/ProgramData/MySQL/MySQL Server 5.7Data /數(shù)
20、據(jù)文件目錄# The default character set that will be used when a new schema or table is# created and no character set is definedcharacter-set-server=utf8 /服務器端的字符集 # The default storage engine that will be used when create new tables whendefault-storage-engine=INNODB /默認存儲引擎如果想要設置默認引擎為MyISAM,只需將“default-storage-engine=INNODB”改為“default-storage-engine=MyISAM”后,保存my.ini文件即可。注意,修改my.ini文件后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版道德與法治九年級上冊4.2《凝聚法治共識1》聽課評課記錄
- 2024年八年級道德與法治下冊第一單元堅持憲法至上第一課維護憲法權威知識點總結新人教版
- 投資人入股協(xié)議書范本
- 健身房配備合同范本
- 施工安全技術協(xié)議書范本
- 滬教版數(shù)學八年級上冊19.2《線段垂直平分線與角平分線》聽評課記錄
- 河北省2024七年級道德與法治上冊第三單元珍愛我們的生命第九課守護生命安全第1課時增強安全意識背記新人教版
- 英語專業(yè)實習聽評課記錄
- 陳江中考數(shù)學試卷
- 部編八下歷史第二單元社會主義制度的建立與社會主義建設的探索第5課三大改造聽課評課記錄3
- 《游戲界面設計專題實踐》課件-知識點5:圖標繪制準備與繪制步驟
- 自動扶梯安裝過程記錄
- MOOC 材料科學基礎-西安交通大學 中國大學慕課答案
- 智慧供熱管理系統(tǒng)方案可行性研究報告
- 帕金森病的言語康復治療
- 中國城市居民的健康意識和生活方式調(diào)研分析報告
- 上海星巴克員工手冊
- 貓狗創(chuàng)業(yè)計劃書
- 復產(chǎn)復工試題含答案
- 部編版語文三年級下冊第六單元大單元整體作業(yè)設計
- 售后服務經(jīng)理的競聘演講
評論
0/150
提交評論