MYSQL查询表中数据数量

本文介绍了如何在MYSQL中使用COUNT函数查询user_info表的数据量,区分COUNT(*)和COUNT(字段名)的区别,并提到了利用information_schema.TABLES获取表数据量以减少对生产环境数据库资源的影响,以优化客户体验。
摘要由CSDN通过智能技术生成

MYSQL查询表中数据数量

查询表中的数据量是在开发中经常使用到的,这里记录几个知识点。

这里使用user_info表举例
  • 表结构如下:
字段名称类型是否可以为NULL注释
idintid
namevarchar(255)真实姓名
passwordvarchar(255)密码
saltvarchar(255)盐值
usernamevarchar(255)用户名
  • 表数据(下面数据中的NULL代表是空,不是NULL字符串):
idnamepasswordsaltusername
1张三951cd60dec2104024949d2e0b2af45ae11zhangsan
NULLNULLNULLNULLNULL
2李四967cd60dec2104024949d2e0b2af45ae22lisi
用COUNT去查询

当使用COUNT(*)时,它将计算所有行的数量,包括包含NULL值的行。

当使用COUNT(字段名称)时,它将计算所有行的数量,但不包括所有字段值都为NULL的行。

SELECT COUNT(*) FROM user_info;

SELECT COUNT(id) FROM user_info;
去information_schema.TABLES表中查询

可以去information_schema.TABLES表中查询表的数据量,查询时需要注意,这个表中的数据不是实时的,也就是说查询出的值可能会和真实的数量不一样。大家可能会问,既然数量不一直,那我查询这个表干嘛呢,直接count不就行了,既然存在,就必定有它用武之地。

我最近就碰到一个场景:领导让我查询下生产环境几张表的数据量,不用很准确,只要一个大差不差的数字就可以,我的第一反应是使用count,可是突然想到生产环境啊,这几张表的数据又都是比较大的,我查询时必定占用数据库资源啊,万一影响了客户体验咋整,本着客户至上的原则,我就去information_schema.TABLES表中统计了下数量,不影响客户,又完成了我的工作,嗯,貌似不错的样子。

-- 这里test是数据库名称,test1是表名
SELECT TABLE_NAME, TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'test1';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值