什么是检查MySQL表中存在行的最有效方法?
检查行是否存在的最有效方法是使用count():
select count(1) from yourTableName where yourCondition;
让我们先创建一个表:
mysql> create table DemoTable
(
Id int,
FirstName varchar(20)
);
Query OK, 0 rows affected (0.73 sec)
以下是使用insert命令在表中插入一些记录的查询:
mysql> insert into DemoTable values(100,'Larry');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(110,'Sam');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(120,'Mike');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(130,'Carol');
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable values(140,'David');
Query OK, 1 row affected (0.12 sec)
以下是使用select命令从表中显示记录的查询:
mysql> select *from DemoTable;
这将产生以下输出:
+------+-----------+
| Id | FirstName |
+------+-----------+
| 100 | Larry |
| 110 | Sam |
| 120 | Mike |
| 130 | Carol |
| 140 | David |
+------+-----------+
5 rows in set (0.00 sec)
以下是在表中检查行是否存在的查询。这里,我们正在检查Id = 130的行:
mysql> select count(1) from DemoTable where Id=130;
这将产生以下输出:
+----------+
| count(1) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
上面的输出告诉我们行存在。
注意:如果返回1,则表示行存在,否则行不存在。
阅读更多:MySQL 教程
极客教程