MySQL獲取行數(1)


@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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM