查询数据库中所有表的记录数
查询数据库中所有表的记录数方法1 直接查询,方法简单,但达不到想要的效果,记录数稍微多一点,总数就偏高方法2 拼接 select count(主键id) 语句方法1 直接查询,方法简单,但达不到想要的效果,记录数稍微多一点,总数就偏高use db_name;select table_name, table_rows from information_schema.tableswhere table
·
方法1 直接查询,方法简单,但达不到想要的效果,记录数稍微多一点,总数就偏高
use db_name;
select table_name, table_rows from information_schema.tables
where table_schema = 'db_name'
得到的结果样式为:
table_name | table_rows |
---|---|
table1 | m行 |
table2 | n行 |
只要数据表内记录行数一多,记录数就比我们想要的结果偏高。
方法2 拼接 select count(主键id) 语句
use information_schema;
select group_concat('select ', '"', table_name, '",', ' count(id) from ',
TABLE_SCHEMA,
'.',
table_name
separator ' union all \n') from information_schema.TABLES
where TABLE_SCHEMA = 'db_name';
可以得到拼接的查询语句
select "table1", count(id) from db_name.table1 union all
select "table2", count(id) from db_name.table2 union all
select "table3", count(id) from db_name.table3
结尾填上分号运行一次即可。
更多推荐
已为社区贡献1条内容
所有评论(0)