Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

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)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

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)