为什么在 MySQL SELECT 语句中允许使用“LIMIT 0”


众所周知,如果在 MySQL SELECT 语句中使用 LIMIT 0,它会返回一个空集。

当希望从结果中获取指定数量的行而不是所有行时,可以使用 LIMIT。如果你使用任何 MySQL API,那么 LIMIT 的作用就是获取结果列的类型。

LIMIT 0 可用于检查查询的有效性。详情可使用以下链接 -

https://dev.mysqlserver.cn/doc/refman/8.0/en/limit-optimization.html

以下是 LIMIT 0 的演示。用于创建表面的查询如下 -

mysql> create table Limit0Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.61 sec)

现在,可以使用 insert 命令将某些记录插入表中。查询如下 -

mysql> insert into Limit0Demo(Name) values('David');
Query OK, 1 row affected (0.13 sec)
mysql> insert into Limit0Demo(Name) values('Larry');
Query OK, 1 row affected (0.24 sec)
mysql> insert into Limit0Demo(Name) values('Carol');
Query OK, 1 row affected (0.17 sec)
mysql> insert into Limit0Demo(Name) values('Bob');
Query OK, 1 row affected (0.12 sec)
mysql> insert into Limit0Demo(Name) values('John');
Query OK, 1 row affected (0.11 sec)
mysql> insert into Limit0Demo(Name) values('Sam');
Query OK, 1 row affected (0.11 sec)
mysql> insert into Limit0Demo(Name) values('James');
Query OK, 1 row affected (0.12 sec)
mysql> insert into Limit0Demo(Name) values('Maxwell');
Query OK, 1 row affected (0.13 sec)
mysql> insert into Limit0Demo(Name) values('Ricky');
Query OK, 1 row affected (0.09 sec)
mysql> insert into Limit0Demo(Name) values('Adam');
Query OK, 1 row affected (0.06 sec)

现在,可以使用 select 语句从表中显示所有记录。查询如下 -

mysql> select *from Limit0Demo;

以下是输出 -

+----+---------+
| Id | Name    |
+----+---------+
|  1 | David   |
|  2 | Larry   |
|  3 | Carol   |
|  4 | Bob     |
|  5 | John    |
|  6 | Sam     |
|  7 | James   |
|  8 | Maxwell |
|  9 | Ricky   |
| 10 | Adam    |
+----+---------+
10 rows in set (0.00 sec)

案例 1:使用 limit 0。

查询如下 -

mysql> select *from Limit0Demo limit 0;
Empty set (0.00 sec)

案例 2:当你希望从表中获取特定数量的行时。查询如下 -

mysql> select *from Limit0Demo limit 3;

以下是输出 -

+----+-------+
| Id | Name  |
+----+-------+
|  1 | David |
|  2 | Larry |
|  3 | Carol |
+----+-------+
3 rows in set (0.00 sec)

更新于: 2019-07-30

818 次浏览

启动你的职业

通过完成课程获得认证

开始
广告