MYSQL-SQLSERVER获取某个数据库的表记录数
MYSQL:
1,可以使用MYSQL的系统表的记录数(亲测,有时候,会不准确,被坑了一把,如果还是想通过此方式实现查询表记录数,可以按照文章后的链接进行操作)
use information_schema;
select table_name,table_rows from tables
where TABLE_SCHEMA = 'wmstesting'
order by table_rows desc;
为什么会记录不准确:https://blog.csdn.net/weixin_39004901/article/details/84616689
怎么解决让记录准确:https://blog.csdn.net/londa/article/details/90480266
2,使用union 关联所有的表数据行数(这个是比较准确的,查询每个表的记录数在链接起来)
SELECT CONCAT( 'SELECT "', TABLE_NAME, '", COUNT(*) as rows FROM ', TABLE_SCHEMA, '.', TABLE_NAME, ' UNION ALL' ) EXEC_SQL
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'wmstesting';
把生成的 SQL 语句拷贝出来,并去掉最后的一个“ UNION ALL ”就可以执行了。再加上排序 如下
select * from (
SELECT "abnormal_record_heare", COUNT(*) as rows FROM uco_wms_prod.abnormal_record_heare UNION ALL
SELECT "adjustment_type", COUNT(*) as rows FROM uco_wms_prod.adjustment_type UNION ALL
SELECT "allocation_rule_detail", COUNT(*) as rows FROM uco_wms_prod.allocation_rule_detail ) a ORDER BY rows desc
如果要查询整个数据库的汇总表行数,加上sum(rows)就可以了
SQLSERVER
select b.[name] 表名,max(a.rowcnt) 记录数
from sysindexes a
join sys.objects b on b.object_id=a.id
where b.type='U'
group by b.[name]
order by max(a.rowcnt) desc
-- 清除库里所有表的数据
-- USE TTX_QIMEN_EAI_DATA
-- EXEC sp_MSforeachtable N'TRUNCATE TABLE ?'
最新文章
- Gatekeeper Pattern 把关(守门人)模式
- CreateJSのeasel.js(一)
- 目录操作工具类 CopyDir.java
- C实现面向对象封装、继承、多态
- Accessor Search Implementation Details
- 【转载】Eclipse自动编译问题
- UVA 12647 	Balloon
- ADB命令解析
- Ubuntu 16.04系统下安装PHP5.6*
- android studio签名
- UIController子类控件&;nbsp;UI_06
- git合并两个不同的仓库
- Apache Commons FileUpload 实现文件上传
- 【Math for ML】矩阵分解(Matrix Decompositions) (上)
- 使用GPStracker自建卫星定位跟踪平台
- Hive的join表连接查询的一些注意事项
- Jenkins-Build Monitor View
- mysql主从同步详细教程
- python2与python3的input函数的区别
- go语言基础之递归函数的调用流程