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

mysqlmysqli database更新于 2024/1/28 13:44:00

在 MySQL 中,"Where 1=1"语句的结果为表中的所有行,因为该语句始终为真。下面给出了一个示例来更好地理解该语句 −

首先,借助 create 命令创建一个表。如下所示 −

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

成功创建表后,使用插入命令插入一些记录,查询如下 −

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)

相关文章