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!

推薦閱讀: