mysql查询数据的总记录数
mysql查询数据的总记录数领导让获取数据库中的所有记录总数,网上查了一会,看到了很多都是不能执行,我这小性子安耐不住了,开始暴怒,最后的最后看下来应该缺少了一个关键字,还自以为是的想不知道是不是mysql版本导致的这个问题。道行不深,继续修炼。语句一定要这么写,首先use information_schemaUSE information_schema;-- 查询所有表的记录数SELECT SU
·
mysql查询数据的总记录数
领导让获取数据库中的所有记录总数,网上查了一会,看到了很多都是不能执行,我这小性子安耐不住了,开始暴怒,最后的最后看下来应该缺少了一个关键字,还自以为是的想不知道是不是mysql版本导致的这个问题。道行不深,继续修炼。
语句一定要这么写,首先use information_schema
USE information_schema;
-- 查询所有表的记录数
SELECT SUM(table_rows) FROM TABLES WHERE TABLE_SCHEMA = 'testdb' ORDER BY table_rows DESC;
-- 或者这么写
SELECT SUM(table_rows) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'testdb' ORDER BY table_rows DESC;
-- 查询该schema下的所有表数量
SELECT count(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'testdb' ORDER BY table_rows DESC;
如果查询分布式数据库的schema,则可能需要where语句用like TABLE_SCHEMA ‘testdb%’ 因为分布式数据库会有很多个schema,这个需要留意
如您想查询系统相关的信息可以从这个information_schema.TABLES表中去查询
名称 | 含义 |
---|---|
table_catalog | 数据表登记目录 |
table_schema | 数据表所属的数据库名,注意分部署数据库会有多个分片数据库 |
table_name | 表名称,数据库中对应的表名称 |
table_type | 表类型[system view|base table] |
engine | 使用的数据库引擎[MyISAM|CSV|InnoDB],创建表时指定的数据库引擎 |
version | 版本,默认值10 |
row_format | 行格式[Compact|Dynamic|Fixed] |
table_rows | 表里所存多少行数据 |
avg_row_length | 平均行长度 |
data_length | 数据长度 |
max_data_length | 最大数据长度 |
index_length | 索引长度 |
data_free | 空间碎片 |
auto_increment | 做自增主键的自动增量当前值 |
create_time | 表的创建时间 |
update_time | 表的更新时间 |
check_time | 表的检查时间 |
table_collation | 表的字符校验编码集 |
checksum | 校验和 |
create_options | 创建选项 |
table_comment | 表的注释、备注 |
研究此表中的特性,对统计系统中的数据有很大作用
更多推荐
已为社区贡献1条内容
所有评论(0)