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)