MySQL是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它支持多庫(kù)多表操作。在實(shí)際的開發(fā)中,我們經(jīng)常需要查找單庫(kù)多表的總記錄數(shù),可以采用以下方法:
SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='數(shù)據(jù)庫(kù)名稱';
上述SQL語(yǔ)句使用了MySQL的信息模式(INFORMATION_SCHEMA)信息庫(kù),將數(shù)據(jù)庫(kù)名稱替換為實(shí)際的數(shù)據(jù)庫(kù)名稱即可。
如果需要查找某個(gè)數(shù)據(jù)庫(kù)中所有表的總記錄數(shù),可以使用以下SQL語(yǔ)句:
SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='數(shù)據(jù)庫(kù)名稱' AND TABLE_TYPE='BASE TABLE';
上述SQL語(yǔ)句中的TABLE_TYPE='BASE TABLE'表示只查詢基礎(chǔ)表,不包括臨時(shí)表等其他表。
如果需要查找某個(gè)數(shù)據(jù)庫(kù)中某些表的總記錄數(shù),可以使用以下SQL語(yǔ)句:
SELECT (SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='數(shù)據(jù)庫(kù)名稱' AND TABLE_NAME='表名1') + (SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='數(shù)據(jù)庫(kù)名稱' AND TABLE_NAME='表名2') + ...
上述SQL語(yǔ)句將多個(gè)查詢語(yǔ)句通過(guò)加號(hào)相連,可以查詢多個(gè)表的總記錄數(shù)。