@yuezc:在寫這篇筆記之前,一直以為數據庫就那樣,不就一個查詢總行數么,難嗎?應該很簡單。但是在深入了解之后,讓我腦門大開。對,就這感覺。
1、獲取單個表的MySQL行計數
SELECT COUNT(*) FROM t_sdrs_xsjbxx;
2、獲取MySQL兩個或多個表的行計數
SELECT 'xsjbxx' tableName, COUNT(*) FROM t_sdrs_xsjbxx UNION SELECT 'xsxj' tableName, COUNT(*) FROM t_sdrs_xsxj;
3、獲取特定數據庫中所有表的MySQL行計數
SELECT table_name FROM information_schema.tables WHERE table_schema = 'sdrs_xxxx' AND table_type = 'BASE TABLE';
或者
SELECT -- CONCAT( GROUP_CONCAT( CONCAT( 'SELECT \'',table_name, '\' table_name,COUNT(*) rows FROM ', table_name ) SEPARATOR ' UNION ' ) 'ORDER BY table_name' -- ) INTO @SQL FROM ( SELECT table_name FROM information_schema. TABLES WHERE table_schema = 'sdrs' //庫名 AND table_type = 'BASE TABLE' ) table_list; USE sdrs; //庫名 PREPARE st FROM @SQL; EXECUTE st; DEALLOCATE PREPARE st;