MySQL命令行工具:如何找出DELETE影响的行数?
您可以在结尾处使用row_count()来实现此目的。让我们首先创建一张表 –
mysql> create table rowAfftectedByDeleteDemo
-> (
-> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> CustomerName varchar(20)
-> );
Query OK, 0 rows affected (0.86 sec)
使用insert命令向表中插入一些记录。查询语句如下 –
mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('John');
Query OK, 1 row affected (0.14 sec)
mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('Carol');
Query OK, 1 row affected (0.10 sec)
mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('Bob');
Query OK, 1 row affected (0.09 sec)
mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('Sam');
Query OK, 1 row affected (0.09 sec)
mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('David');
Query OK, 1 row affected (0.08 sec)
mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('Maxwell');
Query OK, 1 row affected (0.09 sec)
mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('Ramit');
Query OK, 1 row affected (0.08 sec)
mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('James');
Query OK, 1 row affected (0.10 sec)
使用select语句从表中显示所有记录。查询语句如下 –
mysql> select *from rowAfftectedByDeleteDemo;
这是输出 –
+------------+--------------+
| CustomerId | CustomerName |
+------------+--------------+
| 1 | John |
| 2 | Carol |
| 3 | Bob |
| 4 | Sam |
| 5 | David |
| 6 | Maxwell |
| 7 | Ramit |
| 8 | James |
+------------+--------------+
8 rows in set (0.00 sec)
在从表中删除行之前,row_count()的值如下 –
mysql> select row_count();
这是输出 –
+-------------+
| row_count() |
+-------------+
| -1 |
+-------------+
1 row in set (0.00 sec)
以下是从表中删除行的查询语句 –
mysql> delete from rowAfftectedByDeleteDemo where CustomerId =3 || CustomerId =4 || CustomerId =5 || CustomerId =6;
Query OK, 4 rows affected (0.13 sec)
在从表中删除行之后,row_count()的值如下 –
mysql> select row_count();
这是输出 –
+-------------+
| row_count() |
+-------------+
| 4 |
+-------------+
1 row in set (0.00 sec)
阅读更多:MySQL 教程