2010-06-08 81 views
3

我不知道在MySQL上直接使用SQL是否可行。我需要在數據庫的每個表上執行SELECT COUNT(*)FROM,並將結果輸出到一個結果集中。選擇數據庫中所有表中的行數

是否可以只使用SQL?

回答

3

實際上有。你必須使用INFORMATION_SCHEMA。在INFORMATION_SCHEMA.tables中有一列TABLE_ROWS。

http://dev.mysql.com/doc/refman/5.0/en/tables-table.html

+3

此信息僅適用於某些發動機。對於其他人來說,獲得實際行數的唯一方法是運行'SELECT COUNT(*)'。 http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html – a1ex07 2010-06-08 23:01:33

+0

擴展答案:http://stackoverflow.com/questions/24707814/mysql-summarize-all-table-行數-IN-A-單查詢 – gwideman 2014-07-11 23:54:04

0

如果一個SQL算作存儲過程,那麼是的!

..你可以做一個遊標和動態SQL。

exec("select count(*) from " + @tableName) 

.... type thing!

我敢肯定,MySQL可能有一個內置的SQL或SP會爲你做這個,恐怕我不知道它是什麼。

+0

這是SQL Server的動態SQL語法 - 你需要去改變它使用MySQL的預處理語句的語法:http://dev.mysql.com/tech-resources/articles/4.1/prepared-statements.html – 2010-06-08 23:18:52

相關問題