Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 即使数据库大小为0.000MB,如何获取MySQL数据库列表?_Php_Mysql_Sql_Database - Fatal编程技术网

Php 即使数据库大小为0.000MB,如何获取MySQL数据库列表?

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个表

我正在尝试获得数据库列表以及每个数据库的大小!我尝试了许多查询,下面的一个可以工作,但它只会显示至少有一条记录的数据库,或者,换句话说,它只会列出大小大于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,可能需要学习它。