MySQL數據庫存儲引擎介紹及數據庫的操作詳解
MySQL存儲引擎
InnoDB存儲引擎
InnoDB存儲引擎是MySQL常見的的存儲引擎,
- 它給MySQL的表提供瞭事務處理、回滾、崩潰修復和多版本並發控制等功能;
- 支持列值自動增長(列值不能為空且必須唯一);
- 支持外鍵。
- 缺點: 占用的空間相對較大
MyISAM儲存引擎
MyISAM儲存引擎支持3種不同的存儲格式:靜態型、動態型和壓縮型。
- 靜態型:靜態型是MyISAM的默認存儲格式,它的字段是固定長度;
- 動態型:包含變長字段,記錄的長度不是固定的。
MyISAM儲存引擎占用空間小,處理速度快;但不支持事務的完整性和並發性。
Memory存儲引擎
Memory存儲引擎使用存儲在內存中的內容來創建表,而且數據全部存放在內存中。
每個基於Memory存儲引擎的表實際對應一個磁盤文件,該文件名與表名一致,且隻存放表的結構。如果重啟或關機,所有數據都會消失。
Memory存儲引擎默認使用哈希索引,也可在創建索引時指定為B型樹索引,使用哈希索引的速度比使用B型樹索引的速度快。
Archive存儲引擎
Archive存儲引擎隻支持INSERT和SELECT操作,非常適合存儲歸檔數據,如日志信息等。
Archive存儲引擎通過使用zlib算法將數據行壓縮後存儲,但是它並不知道事務安全的存儲引擎,它的設計目標是提供高速的插入和壓縮功能。
功能 | InnoDB | MyISAM | Memory | Archive |
---|---|---|---|---|
存儲限制 | <= 64TB | <=256TB | RAM | None |
支持事務 | 是 | 否 | 否 | 否 |
全文索引 | 否 | 是 | 否 | 否 |
樹索引 | 是 | 是 | 是 | 否 |
哈希索引 | 否 | 否 | 是 | 否 |
數據緩存 | 是 | 否 | N/A | 否 |
外鍵 | 是 | 否 | 否 | 否 |
數據庫的相關操作
創建數據庫
create database [if not exists] <數據庫名> [[default] charset set <字符集名>] [[default] collate <校對規則名>]
- [if not exists]:表示在創建數據庫之前判斷該數據庫是否存在,隻有在不存在的數據才執行創建操作
- [[default] charset set <字符集名>]:表示指定數據庫的字符集。
- [[default] collate <校對規則名>]:表示指定字符集的默認校對規則。
修改數據庫
alter database <數據庫名> { [default] charset set <字符集名> | [default] collate <校對規則名> }
使用alter database更改數據庫的全局特性,需提前獲得數據庫的修改權限。
刪除數據庫
drop database [if exists] <數據庫名>
查看數據庫列表
show databases [like '數據庫名'];
用戶查看MySQL中當前存在的數據庫列表。
[like ‘數據庫名’]:用戶匹配指定的數據庫名稱,可以部分匹配也可以完全匹配。
打開數據庫
use <數據庫名>
到此這篇關於MySQL數據庫存儲引擎介紹及數據庫的操作詳解的文章就介紹到這瞭,更多相關MySQL數據庫存儲引擎內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!