Php 即使数据库大小为0.000MB,如何获取MySQL数据库列表?
我正在尝试获得数据库列表以及每个数据库的大小!我尝试了许多查询,下面的一个可以工作,但它只会显示至少有一条记录的数据库,或者,换句话说,它只会列出大小大于0的数据库 以下是查询:Php 即使数据库大小为0.000MB,如何获取MySQL数据库列表?,php,mysql,sql,database,Php,Mysql,Sql,Database,我正在尝试获得数据库列表以及每个数据库的大小!我尝试了许多查询,下面的一个可以工作,但它只会显示至少有一条记录的数据库,或者,换句话说,它只会列出大小大于0的数据库 以下是查询: SELECT table_schema 'database', sum( data_length + index_length) / 1024 / 1024 'size' FROM information_schema.TABLES GROUP BY table_schema; 很明显,我不会使用此查询获取包含0个表
SELECT table_schema 'database', sum( data_length + index_length) / 1024 / 1024 'size' FROM information_schema.TABLES GROUP BY table_schema;
很明显,我不会使用此查询获取包含0个表的数据库列表,因为它在information\u schema
table中查找表及其大小
如何修改此查询以使其显示没有表的数据库?我已经尝试了与MySQL数据库大小相关的StackOverflow问题的每个查询
更新:我正在使用PHP,如果完整查询不可用,请向我展示一种方法,以获取具有大小的数据库列表,即使PHP可以以任何方式实现。您可以从
schemata
表中获取模式列表,即使对于没有表的模式也是如此
SELECT s.schema_name AS 'database',
SUM( t.data_length + t.index_length) / 1024 / 1024 AS 'size'
FROM INFORMATION_SCHEMA.SCHEMATA AS s
LEFT OUTER JOIN INFORMATION_SCHEMA.TABLES AS t ON s.schema_name=t.table_schema
GROUP BY s.schema_name;
我不太擅长SQL,下面是我在运行这个查询后得到的错误。更正我
#1054-在“on子句”中的未知列“s.schema.name”
…很抱歉,我在连接条件中输入了一个错误。我已经把它修好了。如果需要使用SQL,可能需要学习它。