MySQL 中的“where 1=1”语句是什么?


在 MySQL 中,“Where 1=1” 会返回表中的所有行,因为此语句始终为真。以下是一个更好地理解此语句的示例:

首先,使用 create 命令创建一个表。如下所示:

mysql> CREATE table WhereConditon
-> (
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.43 sec)

成功创建表后,使用 insert 命令插入一些记录。此查询如下所示:

mysql> INSERT into WhereConditon values(1,'John');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into WhereConditon values(2,'Smith');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into WhereConditon values(3,'Bob');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into WhereConditon values(4,'David');
Query OK, 1 row affected (0.13 sec)

现在,记录已成功插入,可以使用 select 语句检查表中的记录数。此查询如下所示:

mysql> SELECT * from WhereConditon;

执行上述查询后,可以查看表中的所有记录,如下所示:

+------+-------+
| id   | name  |
+------+-------+
| 1    | John  |
| 2    | Smith |
| 3    | Bob   |
| 4    | David |
+------+-------+
4 rows in set (0.00 sec)

现在,将语句 1=1 与 select 语句一起使用以显示表中的名称。由于 1=1 始终为真,因此将显示所有名称。

此查询如下所示:

mysql> select name from WhereConditon where 1=1;

以下是上述查询的输出

+-------+
| name  |
+-------+
| John  |
| Smith |
| Bob   |
| David |
+-------+
4 rows in set (0.00 sec)

更新于: 2020-06-24

2K+ 阅读量

开启您的职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.