這篇文章將為大家詳細(xì)講解有關(guān)MySQL如何查詢表類型,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
田家庵ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
查詢方法:1、使用“SHOW TABLE STATUS FROM `數(shù)據(jù)庫名`;”語句,可列出指定數(shù)據(jù)庫中所有表的信息,包括表類型;2、使用“SHOW CREATE TABLE `數(shù)據(jù)表名`;”語句,可列出指定數(shù)據(jù)表的信息,包括表類型。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
MySQL 數(shù)據(jù)表主要支持六種類型 ,分別是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。
這六種又分為兩類,一類是”事務(wù)安全型”(transaction-safe),包括BDB和InnoDB;其余都屬于第二類,稱為”非事務(wù)安全型”(non-transaction-safe)。
BDB全稱是”Brekeley DB”,它是Mysql最早的具有事務(wù)能力的表的類型,由Sleepycat Software (http://www.sleepycat.com)開發(fā)。它提供了事務(wù)控制能力功能,它確保一組命令全部執(zhí)行成功,或者當(dāng)任何一個(gè)命令出現(xiàn)錯(cuò)誤時(shí)所有命令的結(jié)果都被回退,可以想像在電子銀行中事務(wù)控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事務(wù)特性。最新版本的Mysql已經(jīng)計(jì)劃移除對(duì)BDB的支持,轉(zhuǎn)而全力發(fā)展InnoDB。
InnoDB是較新的事務(wù)安全型存儲(chǔ)引擎,用于事務(wù)處理應(yīng)用程序,支持BDB的幾乎所有特性,并具有眾多新特性,包括ACID事務(wù)支持。
特性:
事務(wù)處理機(jī)制
支持外鏈
崩潰后能立即恢復(fù)
支持外鍵功能,級(jí)聯(lián)刪除
支持并發(fā)能力
在硬盤上的存儲(chǔ)方式:InnoBDB frm
最新版本的Mysql已經(jīng)計(jì)劃移除對(duì)BDB的支持,轉(zhuǎn)而全力發(fā)展InnoDB。InnoDB對(duì)Mysql有更好的特性支持,而且開發(fā)社區(qū)活躍。
MyISAM默認(rèn)的MySQL插件式存儲(chǔ)引擎,它是基于ISAM類型,但它增加了許多有用的擴(kuò)展,它是在Web、數(shù)據(jù)倉儲(chǔ)和其他應(yīng)用環(huán)境下最常使用的存儲(chǔ)引擎之一。注意,通過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務(wù)器的默認(rèn)存儲(chǔ)引擎。
優(yōu)點(diǎn):
1.比ISAM表更小,所占資源更少
2.可以在不同平臺(tái)間二進(jìn)制移植表的類型在創(chuàng)建表時(shí)指定。
ISAM是MyISAM類型出現(xiàn)之前MySQL表使用的默認(rèn)類型,現(xiàn)在已經(jīng)被MyISAM代替。
Memory(HEAP)是MySQL表中訪問最快的表,將所有數(shù)據(jù)保存在RAM中,在需要快速查找引用和其他類似數(shù)據(jù)的環(huán)境下,可提供極快的訪問。注意,這種類型下數(shù)據(jù)是非持久化設(shè)計(jì)的,它一般適應(yīng)于臨時(shí)表,如果MySQL或者服務(wù)器崩潰,表中數(shù)據(jù)全部丟失。
Merge是一種值得關(guān)注的新式表,它是由一組MyISAM表組成,之所合并主要出于性能上考慮,因?yàn)樗軌蛱岣咚阉魉俣?,提高修?fù)效率,節(jié)省磁盤空 間。允許MySQL DBA或開發(fā)人員將一系列等同的MyISAM表以邏輯方式組合在一起,并作為1個(gè)對(duì)象引用它們。對(duì)于諸如數(shù)據(jù)倉儲(chǔ)等VLDB環(huán)境十分適合。有時(shí)它以 MRG_MYISAM名稱出現(xiàn)。
Archive為大量很少引用的歷史、歸檔、或安全審計(jì)信息的存儲(chǔ)和檢索提供了完美的解決方案。
Federated能夠?qū)⒍鄠€(gè)分離的MySQL服務(wù)器鏈接起來,從多個(gè)物理服務(wù)器創(chuàng)建一個(gè)邏輯數(shù)據(jù)庫。十分適合于分布式環(huán)境或數(shù)據(jù)集市環(huán)境。
NDBCluster/Cluster/NDBMySQL的簇式數(shù)據(jù)庫引擎,尤其適合于具有高性能查找要求的應(yīng)用程序,這類查找需求還要求具有最高的正常工作時(shí)間和可用性。
CSV使用標(biāo)準(zhǔn)的CSV格式,由逗號(hào)隔開的文本文件,適應(yīng)于外部數(shù)據(jù)交換
Blackhole它會(huì)接受數(shù)據(jù)但不保存,而且對(duì)任何檢索請(qǐng)求返回一個(gè)空集。它一般適應(yīng)于數(shù)據(jù)會(huì)被自動(dòng)復(fù)制并不進(jìn)行本地保存的分布式數(shù)據(jù)庫設(shè)計(jì)。(不確定的)似乎也可以用于臨時(shí)禁止/忽略對(duì)數(shù)據(jù)庫的應(yīng)用程序輸入。
Example這是一個(gè)測(cè)試引擎,你可以創(chuàng)建一個(gè)這樣的表,但既不能寫入數(shù)據(jù),也不能檢索數(shù)據(jù)。它似乎是一個(gè)針對(duì)MySql開發(fā)者提供的示例引擎。
有關(guān)操作和查看表類型的命令語法如下
-- -- 創(chuàng)建表時(shí)指定表類型的方法 CREATE TABLE `message` ( `id` int(11) NOT NULL auto_increment, `sender` varchar(255) default NULL, `receiver` varchar(255) default NULL, `content` text, `is_read` char(1) default 'N', `send_time` datetime default NULL, `del_flag` tinyint(4) default '0', PRIMARY KEY (`id`) ) ENGINE=MYISAM; -- 也可以創(chuàng)建后更改: ALTER TABLE `message` ENGINE = INNODB;
查看表類型
方法1:
-- 查看表類型(存儲(chǔ)引擎) SHOW TABLE STATUS FROM `test`;
結(jié)果為數(shù)據(jù)庫test中所有表的信息,其中第二項(xiàng)type即是表的類型。
方法2:
-- 查看表類型(存儲(chǔ)引擎)2 SHOW CREATE TABLE `message`;
結(jié)果為表message創(chuàng)建時(shí)的信息,其中有TYPE或ENGINE一項(xiàng),指定了表的類型(存儲(chǔ)引擎)。
注意:老版本的MySQL使用 TYPE而不是ENGINE(例如,TYPE = MYISAM)。MySQL 5.1為向下兼容而支持這個(gè)語法,但TYPE現(xiàn)在被輕視,而ENGINE 是首先的用法。 一般地,ENGINE選項(xiàng)是不必要的;除非默認(rèn)已經(jīng)被改變了,MyISAM是默認(rèn)存儲(chǔ)引擎。
關(guān)于“mysql如何查詢表類型”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。