MySql數(shù)據(jù)庫基礎(chǔ)知識點總結(jié)
本文實例講述了MySql數(shù)據(jù)庫基礎(chǔ)知識點。分享給大家供大家參考,具體如下:
-
數(shù)據(jù)庫基本操作
1)創(chuàng)建數(shù)據(jù)庫
基本語法: create database
數(shù)據(jù)庫名稱;
創(chuàng)建應(yī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的操作
2)查看數(shù)據(jù)庫
再完成創(chuàng)建數(shù)據(jù)庫后,若要查看數(shù)據(jù)庫的信息,可以使用該語句
``show caeate database 數(shù)據(jù)庫名稱``
查看MySql數(shù)據(jù)庫服務(wù)器已經(jīng)存在的數(shù)據(jù)庫
``show databases``
3)選擇數(shù)據(jù)庫
數(shù)據(jù)庫服務(wù)器可能存在多個數(shù)據(jù),選擇數(shù)據(jù)庫的命令語法:
`` use 數(shù)據(jù)庫名稱 ``
4)刪除數(shù)據(jù)庫
數(shù)據(jù)庫的刪除操作不僅會刪除里面的數(shù)據(jù),還會回收原來分配的存儲空間
``drop database 數(shù)據(jù)庫名稱``
在使用“drop database” 命令刪除數(shù)據(jù)庫時,若刪除數(shù)據(jù)庫不存在,MySql服務(wù)器會報錯,因此,可以再刪除數(shù)據(jù)庫時,使用“if existe”
``drop database if exists `itcase` //若刪除MySql數(shù)據(jù)庫服務(wù)器中存在數(shù)據(jù)庫itcase,則刪除該數(shù)據(jù)庫,否則不執(zhí)行刪除 數(shù)據(jù)庫itcasse的操作``
-
數(shù)據(jù)類型
數(shù)據(jù)表在創(chuàng)建時,需為每個字段選擇數(shù)據(jù)類型,而數(shù)據(jù)類型的選擇則決定著數(shù)據(jù)的存儲格式,有效范圍和對應(yīng)的限制
mysql提供了多種數(shù)據(jù)類型,主要分為3類
-
數(shù)值類型
-
字符串類型
-
日期與時間類型
1)數(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ā)靈活選擇。

2)存儲類型
在數(shù)據(jù)庫中,數(shù)據(jù)表設(shè)計的是否合理直接影響著數(shù)據(jù)庫的功效,而在設(shè)計數(shù)據(jù)表時存儲引擎的選擇,則決定著數(shù)據(jù)表具有哪些功能。接下來將對 MySQL 常用存儲引擎及其作用進行介紹。
-
InnoDB 存儲引擎
-
MyISAM 存儲引擎
-
MEMORY 存儲引擎
-
ARCHIVE 存儲引擎
InnoDB 引擎
InnoDB 存儲引擎自 MySQL 5.5 版本起被指定為默認的存儲引擎,用于完成事務(wù)、回滾、崩潰修復(fù)和多版本并發(fā)控制的事務(wù)安全處理。同時也是 MySQL中第一個提供外鍵約束的表引擎,尤其對事務(wù)處理的能力,是 MySQL 其他存儲引擎所無法與之比擬的。
InnoDB 的優(yōu)勢在于提供了良好的事務(wù)管理、崩潰修復(fù)能力和并發(fā)控制。
MyISAM 存儲引擎
MyISAM 存儲引擎是基于 ISAM 存儲引擎發(fā)展起來的,它不僅解決了 ISAM的很多不足,還增加了很多有用的擴展。
其中,對于使用 MyISAM 存儲引擎的數(shù)據(jù)表,會被存儲成3個文件,文件名與表名相同,文件擴展名分別為 frm、myd 和 myi。

相比 InnoDB ,MyISAM 的優(yōu)點是處理速度快;缺點是不支持事務(wù)處理等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事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
相關(guān)文章
一步步教你如何使用mysql?binlog恢復(fù)數(shù)據(jù)
Binlog日志即binary?log,是二進制日志文件,有兩個作用,一個是增量備份,另一個是主從復(fù)制,下面這篇文章主要給大家介紹了關(guān)于如何使用mysql?binlog?恢復(fù)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2023-04-04
5個常用的MySQL數(shù)據(jù)庫管理工具詳細介紹
本篇文章是對5個常用的MySQL數(shù)據(jù)庫管理工具進行了詳細的分析介紹,需要的朋友參考下2013-06-06
連接MySql速度慢的解決方法(skip-name-resolve)
這篇文章主要介紹了連接MySql速度慢的解決方法(skip-name-resolve),需要的朋友可以參考下2015-09-09
MySQL數(shù)據(jù)庫多表操作通關(guān)指南(外鍵約束和多表聯(lián)合查詢)
看再多的資料不如自己親自動手實戰(zhàn),往往實戰(zhàn)才能滲透知識,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫多表操作的相關(guān)資料,包含外鍵約束和多表聯(lián)合查詢等,需要的朋友可以參考下2022-06-06
避坑:Sql中?in?和not?in中有null值的情況說明
這篇文章主要介紹了避坑:Sql中?in?和not?in中有null值的情況說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
MYSQL8 通過ibd文件恢復(fù)表數(shù)據(jù)的方法
這篇文章主要介紹了MYSQL8 通過ibd文件恢復(fù)表數(shù)據(jù)的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01

