本文實例講述了MySql數(shù)據(jù)庫基礎(chǔ)知識點。分享給大家供大家參考,具體如下:
基本語法: create database 數(shù)據(jù)庫名稱
;
創(chuàng)建應該名稱為itcast的數(shù)據(jù)庫。sql語法如下:
``create database ` itcast `;``
需要主要的是,為了避免用戶自定義的名稱與系統(tǒng)命令沖突,最好使用反引號(``)包括數(shù)據(jù)庫名稱/字段名稱和數(shù)據(jù)表名稱
如果創(chuàng)建數(shù)據(jù)庫存在,則程序會報錯,為了防止此情況發(fā)生,再創(chuàng)建數(shù)據(jù)庫可以使用“if not exists”,語法如下:
recate database if not exists `itcast` //這段語句表示若數(shù)據(jù)庫中不存在名稱為itcast數(shù)據(jù)庫時,創(chuàng)建該數(shù)據(jù)庫,否則不執(zhí)行創(chuàng)建數(shù)據(jù)庫itcast的操作
再完成創(chuàng)建數(shù)據(jù)庫后,若要查看數(shù)據(jù)庫的信息,可以使用該語句
``show caeate database 數(shù)據(jù)庫名稱``
查看MySql數(shù)據(jù)庫服務器已經(jīng)存在的數(shù)據(jù)庫
``show databases``
數(shù)據(jù)庫服務器可能存在多個數(shù)據(jù),選擇數(shù)據(jù)庫的命令語法:
`` use 數(shù)據(jù)庫名稱 ``
數(shù)據(jù)庫的刪除操作不僅會刪除里面的數(shù)據(jù),還會回收原來分配的存儲空間
``drop database 數(shù)據(jù)庫名稱``
在使用“drop database” 命令刪除數(shù)據(jù)庫時,若刪除數(shù)據(jù)庫不存在,MySql服務器會報錯,因此,可以再刪除數(shù)據(jù)庫時,使用“if existe”
``drop database if exists `itcase` //若刪除MySql數(shù)據(jù)庫服務器中存在數(shù)據(jù)庫itcase,則刪除該數(shù)據(jù)庫,否則不執(zhí)行刪除 數(shù)據(jù)庫itcasse的操作``
數(shù)據(jù)表在創(chuàng)建時,需為每個字段選擇數(shù)據(jù)類型,而數(shù)據(jù)類型的選擇則決定著數(shù)據(jù)的存儲格式,有效范圍和對應的限制
mysql提供了多種數(shù)據(jù)類型,主要分為3類
數(shù)值類型
字符串類型
日期與時間類型
MySql提供了很多數(shù)值類型,大體分為整數(shù)類型和浮點類型
整數(shù)類型根據(jù)取值范圍分為int,smallint等,
浮點類型又分為float,declmal等。
整數(shù)類型
浮點類型
decimal類型的有效取值范圍是有M和D決定。其中,M和D決定。其中,M表示數(shù)據(jù)長度,D表示小數(shù)點后的長度。例如,數(shù)據(jù)類型設(shè)為 DECIMAL(4,1),將 3.1415926插入到數(shù)據(jù)庫后,顯示的結(jié)果為 3.1。
字符串類型
項目開發(fā)時,需要存儲的數(shù)據(jù)多數(shù)是字符串格式的,因此 MySQL 提供了許多用于存儲字符串的數(shù)據(jù)類型。
BLOB和TEXT都是用于存儲大量數(shù)據(jù)的,但二者的區(qū)別在于,對于存儲的數(shù)據(jù)進行排序和比較時,BLOB是區(qū)分大小寫的,而TEXT是不區(qū)分大小寫的
日期與時間類型
為方便在數(shù)據(jù)庫中存儲日期和時間,MySQL 提供了幾種相關(guān)的數(shù)據(jù)類型,這些數(shù)據(jù)類型可以根據(jù)實際開發(fā)靈活選擇。
在數(shù)據(jù)庫中,數(shù)據(jù)表設(shè)計的是否合理直接影響著數(shù)據(jù)庫的功效,而在設(shè)計數(shù)據(jù)表時存儲引擎的選擇,則決定著數(shù)據(jù)表具有哪些功能。接下來將對 MySQL 常用存儲引擎及其作用進行介紹。
InnoDB 存儲引擎
MyISAM 存儲引擎
MEMORY 存儲引擎
ARCHIVE 存儲引擎
InnoDB 引擎
InnoDB 存儲引擎自 MySQL 5.5 版本起被指定為默認的存儲引擎,用于完成事務、回滾、崩潰修復和多版本并發(fā)控制的事務安全處理。同時也是 MySQL中第一個提供外鍵約束的表引擎,尤其對事務處理的能力,是 MySQL 其他存儲引擎所無法與之比擬的。
InnoDB 的優(yōu)勢在于提供了良好的事務管理、崩潰修復能力和并發(fā)控制。
MyISAM 存儲引擎
MyISAM 存儲引擎是基于 ISAM 存儲引擎發(fā)展起來的,它不僅解決了 ISAM的很多不足,還增加了很多有用的擴展。
其中,對于使用 MyISAM 存儲引擎的數(shù)據(jù)表,會被存儲成3個文件,文件名與表名相同,文件擴展名分別為 frm、myd 和 myi。
相比 InnoDB ,MyISAM 的優(yōu)點是處理速度快;缺點是不支持事務處理等
MEMORY 存儲引擎
MEMORY存儲引擎,是MySQL中的一類特殊的存儲引擎。在MEMORY存儲引擎的表中,所有數(shù)據(jù)都保存在內(nèi)存中,因此數(shù)據(jù)的處理速度快,但不能持久保存(程序出錯或關(guān)機時會丟失數(shù)據(jù)),而且不能存儲太大的數(shù)據(jù)。對于需要很快的讀寫速度,但數(shù)據(jù)量小、不需要持久保存的數(shù)據(jù)來說,MEMORY存儲引擎是一個理想的選擇。
ARCHIVE 存儲類型
ARCHIVE 存儲引擎適合保存數(shù)量龐大、長期維護但很少被訪問的數(shù)據(jù)。對于使用 ARCHIVE 存儲引擎的數(shù)據(jù)表,數(shù)據(jù)存儲時會利用 zlib 壓縮庫進行壓縮,在記錄被請求時會實時進行解壓。需要注意的是,ARCHIVE 存儲引擎僅僅支持查詢和插入操作,且由于不支持數(shù)據(jù)索引,查詢效率比較低。
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。