Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 테이블에서 단일 행(레코드)을 삭제하는 방법

MySQL 테이블에서 특정 행 하나를 삭제하려면 DELETE 문과 함께 해당 행을 정확히 식별하는 WHERE 절을 사용하면 됩니다. WHERE 절은 삭제 대상이 되는 행을 지정하는 역할을 하며, 이를 생략하면 테이블의 모든 행이 삭제되므로 반드시 주의해야 합니다.

예제

먼저 'names' 테이블에 저장된 데이터를 조회해 보겠습니다.

mysql> Select * from names;
+------+-----------+
| id   | name      |
+------+-----------+
| 1    | Rahul     |
| 2    | Gaurav    |
| 3    | Raman     |
| 4    | Aarav     |
| 5    | Ram       |
+------+-----------+
5 rows in set (0.00 sec)

현재 테이블에는 5개의 행이 있습니다. 이제 DELETE 문과 WHERE 절을 사용하여 id가 4인 행을 삭제해 보겠습니다.

mysql> DELETE from names where id = 4;
Query OK, 1 row affected (0.07 sec)

위 쿼리는 'names' 테이블에서 id = 4인 단일 행(Aarav)만 삭제합니다. 실행 결과로 "1 row affected" 메시지가 출력되는데, 이는 정확히 한 개의 행이 성공적으로 삭제되었음을 의미합니다.

삭제 후 다시 테이블을 조회하면 해당 행이 제거된 것을 확인할 수 있습니다.

mysql> Select * from names;
+------+-----------+
| id   | name      |
+------+-----------+
| 1    | Rahul     |
| 2    | Gaurav    |
| 3    | Raman     |
| 5    | Ram       |
+------+-----------+
4 rows in set (0.00 sec)

주의 사항

DELETE 문 사용 시 몇 가지 유의할 점이 있습니다.

- WHERE 절 필수 확인: WHERE 절 없이 DELETE 문을 실행하면 테이블의 모든 데이터가 삭제됩니다.
- 고유한 값으로 조건 지정: 기본 키(id)처럼 고유한 컬럼을 조건으로 사용하면 의도하지 않은 여러 행이 삭제되는 실수를 방지할 수 있습니다.
- 백업 습관화: 중요한 데이터를 다룰 때는 삭제 전에 백업을 해두는 것이 안전합니다.