MySQL中count(*)和count(columnName)之间的区别?
无论列是否包含空值,count(*)返回所有行,而count(columnName)返回除空行之外的行数。
让我们首先创建一个表。
以下是查询
mysql> create table ifNotNullDemo-> (
-> Name varchar(20)
-> );
以下是使用insert命令在表中插入一些记录的查询:
mysql> insert into ifNotNullDemo values('Chris');mysql> insert into ifNotNullDemo values('');
mysql> insert into ifNotNullDemo values('Robert');
mysql> insert into ifNotNullDemo values(null);
mysql> insert into ifNotNullDemo values(0);
以下是使用select语句显示表中所有记录的查询:
mysql> select *from ifNotNullDemo;
这将产生以下输出
+--------+| Name |
+--------+
| Chris |
| |
| Robert |
| NULL |
| 0 |
+--------+
5 rows in set (0.00 sec)
情况1:以下是count(*)的演示,其中的count也包含null:
mysql> select count(*) from ifNotNullDemo;
这将产生以下输出
+----------+| count(*) |
+----------+
| 5 |
+----------+
1 row in set (0.02 sec)
情况2:以下是对count(columnName)的查询。
mysql> select count(Name) from ifNotNullDemo;
这将产生以下输出
+-------------+| count(Name) |
+-------------+
| 4 |
+-------------+
1 row in set (0.00 sec)
以上是 MySQL中count(*)和count(columnName)之间的区别? 的全部内容, 来源链接: utcz.com/z/343402.html