我正在增加我拥有的表的数量,我有时好奇只是做一个快速的命令行查询来计算我的数据库中的表的数量.那可能吗?如果是这样,查询是什么?
Jos*_*ian 279
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'dbName';
Run Code Online (Sandbox Code Playgroud)
这是我的:
USE databasename;
SHOW TABLES;
SELECT FOUND_ROWS();
Run Code Online (Sandbox Code Playgroud)
Rol*_*DBA 24
如果您想要计算所有数据库和摘要,请尝试以下方法:
SELECT IFNULL(table_schema,'Total') "Database",TableCount
FROM (SELECT COUNT(1) TableCount,table_schema
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
GROUP BY table_schema WITH ROLLUP) A;
Run Code Online (Sandbox Code Playgroud)
这是一个示例运行:
mysql> SELECT IFNULL(table_schema,'Total') "Database",TableCount
-> FROM (SELECT COUNT(1) TableCount,table_schema
-> FROM information_schema.tables
-> WHERE table_schema NOT IN ('information_schema','mysql')
-> GROUP BY table_schema WITH ROLLUP) A;
+--------------------+------------+
| Database | TableCount |
+--------------------+------------+
| performance_schema | 17 |
| Total | 17 |
+--------------------+------------+
2 rows in set (0.29 sec)
Run Code Online (Sandbox Code Playgroud)
试试看 !!!
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'dbo' and TABLE_TYPE='BASE TABLE'
Run Code Online (Sandbox Code Playgroud)
这将为您提供 mysql 中所有数据库的名称和表计数
SELECT TABLE_SCHEMA,COUNT(*) FROM information_schema.tables group by TABLE_SCHEMA;
Run Code Online (Sandbox Code Playgroud)