2017-06-25 3 views
0

私はデータベースのリストをそれぞれのサイズとともに取得しようとしています!私は多くのクエリと、次の1つの作品を試してみましたが、それは唯一のデータベースは、少なくとも1つのレコードを持つ私が表示されます、または、他の言葉で、それが唯一のリストのデータベースは、ここで0以上データベースのサイズが0.000MBの場合でもMySQLデータベースのリストを取得するには?

がクエリであるサイズを持つだろう。

SELECT table_schema 'database', sum(data_length + index_length)/1024/1024 'size' FROM information_schema.TABLES GROUP BY table_schema; 

テーブルがあり、そのサイズがinformation_schemaのテーブルを検索するため、このクエリを使用しているテーブルが0のデータベースのリストは取得できません。

テーブルを持たないデータベースも表示するようにこのクエリを変更するにはどうすればよいですか?私はMySQLデータベースのサイズに関連するStackOverflow質問で与えられた各クエリを試してみました。

アップデート:私はPHPでの作業とフルクエリが使用できない場合は、私にそれがどのような方法でPHPで可能だ場合でも、サイズのデータ​​ベースのリストを取得する方法を表示しています。

答えて

0

テーブルを持たないスキーマの場合でも、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; 
+0

私はSQLでそれほど熟達していません。ここでは、このクエリを実行した後のエラーです。私を訂正してください。#1054 - 'on clause'の 'Unknown column' s.schema.name '... ... –

+0

私は申し訳ありませんが、私は結合条件でタイプミスがありました。私は上にそれを修正しました。あなたはそれを使用する必要がある場合は、SQLを学ぶことができます。 –

関連する問題