可以查看所有数据库所有表的件数的SQL语句

阅读: 评论:0

可以查看所有数据库所有表的件数的SQL语句

可以查看所有数据库所有表的件数的SQL语句

这个SQL语句可以查看当前MySQL数据库Instance里所有数据库(Scheme)所有表的件数的SQL语句。

该语句会创建一个table_counts表来保存统计结果。创建一个存储过程CREATE PROCEDURE getRowCounts()来执行统计。

在dump之后用来对比数据迁移的结果非常有帮助!可以很容易地对比各个表里的数据量是否一致。

DROP TABLE IF EXISTS table_counts;
CREATE TABLE table_counts (database_name CHAR(64), table_name CHAR(64), row_count INT);DROP PROCEDURE IF EXISTS getRowCounts;
DELIMITER //
CREATE PROCEDURE getRowCounts()
BEGINDECLARE done INT DEFAULT FALSE;DECLARE a CHAR(64);DECLARE b CHAR(64);DECLARE cur CURSOR FOR SELECT table_schema, table_nameFROM information_schema.tablesWHERE table_schema NOT IN ('sys','information_schema', 'mysql', 'performance_schema') and TABLE_TYPE = 'BASE TABLE';DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;OPEN cur;read_loop: LOOPFETCH cur INTO a, b;IF done THENLEAVE read_loop;END IF;SET @s = CONCAT('INSERT INTO table_counts SELECT "', a ,'", "', b ,'", COUNT(*) FROM `', a, '`.`', b, '`');PREPARE stmt FROM @s;EXECUTE stmt;DEALLOCATE PREPARE stmt;END LOOP;CLOSE cur;
END;
//
DELIMITER ;CALL getRowCounts();SELECT * FROM table_counts where 1=1 order by database_name, table_name;

本文发布于:2024-02-05 05:50:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170725569663576.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:件数   可以查看   语句   数据库   SQL
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23