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