• <menu id="w2i4a"></menu>
  • logo Navicat使用教程-2019.1

    文檔首頁>>Navicat使用教程-2019.1>>Navicat使用教程:探討MySQL信息模式中的INFORMATION_SCHEMA

    Navicat使用教程:探討MySQL信息模式中的INFORMATION_SCHEMA


    Navicat Premium 是一套數(shù)據(jù)庫管理工具,讓你使用一個(gè)程序即可同時(shí)連接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 數(shù)據(jù)庫。快速管理不同類型的數(shù)據(jù)庫。

    點(diǎn)擊下載Navicat Premium試用版

    在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)庫元數(shù)據(jù)(例如有關(guān)MySQL服務(wù)器的信息、數(shù)據(jù)庫或表的名稱、列的數(shù)據(jù)類型或訪問特權(quán))存儲(chǔ)在數(shù)據(jù)字典和/或系統(tǒng)目錄中。MySQL在名為INFORMATION_SCHEMA的特殊模式中提供數(shù)據(jù)庫元數(shù)據(jù)。每個(gè)MySQL實(shí)例中都有一個(gè)INFORMATION_SCHEMA。它包含幾個(gè)只讀表,您可以查詢這些表以獲得所需的信息。在今天的文章中,我們將探討INFORMATION_SCHEMA的一些實(shí)際用法,例如使用Navicat Premium。

    獲取表信息

    information_schema.tables表包含有關(guān)表的元數(shù)據(jù),您猜對了!除了表名之外,您還可以檢索其類型(基本表或視圖)和引擎:

    SELECT table_name, table_type, engine
    FROM information_schema.tables
    WHERE table_schema = 'sakila'
    ORDER BY table_name;

    這是上面的查詢和Navicat的結(jié)果:

    Navicat使用教程:探討MySQL信息模式中的INFORMATION_SCHEMA

    您還可以查詢information_schema.tables以獲取表的大?。?/p>

    SELECT
        table_name AS `Table`,
        round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
    FROM information_schema.TABLES
    WHERE table_schema = "sakila"
    AND table_name = "film";

    以下是Navicat Premium的結(jié)果:

    Navicat使用教程:探討MySQL信息模式中的INFORMATION_SCHEMA

    通過一些調(diào)整,您可以列出每個(gè)數(shù)據(jù)庫中每個(gè)表的大?。?/p>

    SELECT
         table_schema as `Database`,
         table_name AS `Table`,
         round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
    FROM information_schema.TABLES
    ORDER BY (data_length + index_length) DESC;

    Navicat使用教程:探討MySQL信息模式中的INFORMATION_SCHEMA

    您甚至可以使用information_schema.tables列出MySQL實(shí)例中每個(gè)數(shù)據(jù)庫的大小!

    SELECT
         table_schema as `Database`,
         table_name AS `Table`,
         round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
    FROM information_schema.TABLES
    ORDER BY (data_length + index_length) DESC;

    Navicat使用教程:探討MySQL信息模式中的INFORMATION_SCHEMA

    查看表統(tǒng)計(jì)信息

    INFORMATION_SCHEMA.STATISTICS表包含緩存的值。因此,這些默認(rèn)情況下會(huì)在24小時(shí)后過期。如果沒有緩存的統(tǒng)計(jì)信息或統(tǒng)計(jì)信息已過期,則在查詢表統(tǒng)計(jì)信息列時(shí)將從存儲(chǔ)引擎檢索統(tǒng)計(jì)信息。

    INFORMATION_SCHEMA.STATISTICS表的一種用途是查看特定模式中所有表的索引:

    SELECT DISTINCT
        TABLE_NAME,
        INDEX_NAME
    FROM INFORMATION_SCHEMA.STATISTICS
    WHERE TABLE_SCHEMA = 'your_schema';

    以下是Navicat中sakila數(shù)據(jù)庫提供的結(jié)果:

    Navicat使用教程:探討MySQL信息模式中的INFORMATION_SCHEMA

    您只需刪除where子句即可查看所有架構(gòu)中的所有索引。在這種情況下,您可能還需要添加數(shù)據(jù)庫名稱:

    SELECT DISTINCT
        stat.TABLE_SCHEMA as 'DATABASE',
        TABLE_NAME,
        INDEX_NAME
    FROM INFORMATION_SCHEMA.STATISTICS stat;

    Navicat使用教程:探討MySQL信息模式中的INFORMATION_SCHEMA

    結(jié)論

    在今天的文章中,我們學(xué)習(xí)了許多使用MySQL INFORMATION_SCHEMA來獲取有關(guān)MySQL實(shí)例中各種對象的元數(shù)據(jù)信息,從數(shù)據(jù)庫到表、列、索引等數(shù)據(jù)庫的方法。盡管查詢是在Navicat Premium中運(yùn)行的,但適用于Navicat for MySQL也可以正常使用!

    相關(guān)內(nèi)容推薦:

    Navicat系列教程>>>


    想要購買該產(chǎn)品正版授權(quán),或了解更多產(chǎn)品信息請點(diǎn)擊“咨詢在線客服”

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();