在MySQL數(shù)據(jù)庫(kù)中,我們經(jīng)常需要查詢表的條數(shù)并根據(jù)條數(shù)進(jìn)行排序。下面介紹一種查詢MySQL中所有表?xiàng)l數(shù)并排序的方法。
SELECT table_schema AS '數(shù)據(jù)庫(kù)名稱', table_name AS '表名稱', table_rows AS '數(shù)據(jù)量' FROM information_schema.TABLES WHERE table_schema NOT IN ('information_schema', 'mysql', 'performance_schema') ORDER BY table_rows DESC;
以上SQL語(yǔ)句中,使用information_schema庫(kù)中的TABLES表來(lái)查詢數(shù)據(jù)庫(kù)中所有表的信息。由于information_schema庫(kù)中還包含系統(tǒng)信息,例如MySQL服務(wù)器版本等,因此我們?cè)赪HERE語(yǔ)句中添加了一個(gè)NOT IN條件來(lái)排除這些系統(tǒng)庫(kù)。
在SELECT語(yǔ)句中,我們選擇了三個(gè)字段,分別是數(shù)據(jù)庫(kù)名稱,表名稱和數(shù)據(jù)量。其中table_rows字段代表了每個(gè)表中的數(shù)據(jù)量。
最后,我們根據(jù)table_rows字段進(jìn)行降序排序,以顯示數(shù)據(jù)量最大的表排在前面。