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