• 元数据库 information_schema.tables


    转  https://www.cnblogs.com/ssslinppp/p/6178636.html
      
    1.information_schema数据库
      对于mysql和Infobright等数据库,information_schema数据库中的表都是只读的,不能进行更新、删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件。
      
    2.information_schema.tables
    information_schema.tables存储了数据表的元数据信息,下面对常用的字段进行介绍:
    • table_schema: 记录数据库名
    • table_name: 记录数据表名
    • engine : 存储引擎
    • table_rows: 关于表的粗略行估计;
    • data_length : 记录表的大小(单位字节);
    • index_length : 记录表的索引的大小
    • row_format: 可以查看数据表是否压缩过;
     
      
    3.下面介绍几种常见的用法;

    information_schema.tables信息;

    1. use information_schema;
    2. show create table tables;
    1. desc tables;

    查询所有的数据库信息

    1. select distinct TABLE_SCHEMA from tables ;

    查询数据库和数据表信息

    显示mysql数据库下面的所有表信息:(共对比使用)
    1. use mysql;
    2. show tables;
    通过information_schema.table获取数据库和数据表信息:
    1. use information_schema;
    2. select TABLE_SCHEMA ,table_name from tables where table_schema like 'mysql';

    数据表大小以及索引大小

    示例1:mysql.time_zone相关表
    获取time_zone相关表的大小:
    1. select (sum(DATA_LENGTH) + sum(INDEX_LENGTH)) as size from tables where table_schema='mysql' and table_name like 'time_%';
     
    示例2: 获取指定数据库的大小;
    1. select (sum(DATA_LENGTH) + sum(INDEX_LENGTH)) as size from tables where table_schema='mysql';

    判断myisam数据表是否已压缩

    1. select distinct row_format,engine from information_schema.tables where engine='myisam';
    • Fixed: 表示已压缩;
    • Dynamic:表示未压缩;
     
    1. select row_format,engine,table_name from information_schema.tables where engine='myisam';

    通过Linux指令直接获取数据库和数据表信息:

    1. mysql -uroot -pxxxx -D:表示数据库名称
    2.  
    3. -e:表示需要执行的指令:


  • 相关阅读:
    Codeforces Round #436 (Div. 2)
    【bzoj1090】 [SCOI2003]字符串折叠
    【并查集】食物链(带权并查集)
    【图论】二分图
    【图论】关押罪犯
    关于图论的若干巴拉巴拉
    一系列的入门and一堆吐槽
    【分块】八
    9-30刷题记录
    bzoj5055
  • 原文地址:https://www.cnblogs.com/jthr/p/14048646.html
Copyright © 2020-2023  润新知