【mysql元数据库】使用information_schema.tables查询数据库和数据表信息
2016-12-14 11:36
671 查看
概述
对于mysql和Infobright等数据库,information_schema数据库中的表都是只读的,不能进行更新、删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件。information_schema.tables存储了数据表的元数据信息,下面对常用的字段进行介绍:table_schema: 记录数据库名;table_name: 记录数据表名;
engine : 存储引擎;
table_rows: 关于表的粗略行估计;
data_length : 记录表的大小(单位字节);
index_length : 记录表的索引的大小;
row_format: 可以查看数据表是否压缩过;
下面介绍几种常见的用法;
information_schema.tables信息;
use information_schema;
show create table tables;
[/code]
desc tables;
[/code]
查询所有的数据库信息
select distinct TABLE_SCHEMA from tables ;
[/code]
查询数据库和数据表信息
显示mysql数据库下面的所有表信息:(共对比使用)use mysql;
show tables;
[/code]
通过information_schema.table获取数据库和数据表信息:
use information_schema;
select TABLE_SCHEMA ,table_name from tables where table_schema like 'mysql';
[/code]
数据表大小以及索引大小
示例1:mysql.time_zone相关表获取time_zone相关表的大小:
select (sum(DATA_LENGTH) + sum(INDEX_LENGTH)) as size from tables where table_schema='mysql' and table_name like 'time_%';
[/code]
示例2: 获取指定数据库的大小;
select (sum(DATA_LENGTH) + sum(INDEX_LENGTH)) as size from tables where table_schema='mysql';
[/code]
判断myisam数据表是否已压缩
select distinct row_format,engine from information_schema.tables where engine='myisam';
[/code]
Fixed: 表示已压缩;
Dynamic:表示未压缩;
select row_format,engine,table_name from information_schema.tables where engine='myisam';
[/code]
通过Linux指令直接获取数据库和数据表信息:
mysql -uroot -pxxxx -D information_schema -e "select TABLE_SCHEMA ,table_name from tables where table_schema like 'hsm_syslog_%'"
[/code]
参数说明:
-D:表示数据库名称
;
-e:表示需要执行的指令:
;
来自为知笔记(Wiz)
相关文章推荐
- information_schema数据库的使用 ->查询一个数据的所有记录总数
- INFORMATION_SCHEMA信息数据库----有时也称“数据词典”和“系统目录”
- 使用INFORMATION_SCHEMA.Columns查询数据表结构
- SQL Server 查询使用Linked Server查询其它数据库服务器的数据
- VB.net查询获取数据库数据信息
- 使用DBCC CHECKPRIMARYFILE 查询Detach数据库信息
- 超重点!使用ResultSetMetaDate完成数据查询与数据库实现的完全分离
- select * from information_schema.tables 查询所有表
- 查询数据库中表使用的空间信息。
- 使用DBCC CHECKPRIMARYFILE 查询Detach数据库信息 推荐
- Asp.Net使用DataTable查询数据库数据
- 通过查询数据库中的数据匹配在页面上:(set单条数据属性是在页面上的显示与foreach的不同) 通过ID修改提取位置表信息
- 查询数据库的数据,是个比较费时的工作,在使用线程查询的时候显示个进度条,并允许终止查询的实现
- Extjs分页使用java实现数据库数据查询
- Mysql 5 以上有内置库 information_schema,存储着mysql的所有数据库和表结构信息
- 取出dataConfiguration.config里的数据,查询数据库中表的所有信息(如是否是主健等)
- 电话号码归属地查询——使用多线程从文本文件导数据到数据库中
- MYSQL-INFORMATION_SCHEMA信息数据库(MYSQL注入猜解)
- 百度地图显示标注,标注信息为数据库查询的数据
- android sqlite使用之模糊查询数据库数据的三种方式