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

MySQL에서 특정 도메인의 URL을 삭제하는 방법 (DELETE + LIKE 활용)

MySQL 데이터베이스에서 특정 도메인이 포함된 URL을 한 번에 삭제하고 싶다면 DELETE 문과 LIKE 절을 함께 사용하면 됩니다. LIKE 절에 와일드카드(%)를 활용하면 특정 도메인 문자열이 포함된 모든 레코드를 손쉽게 찾아 제거할 수 있습니다.

1. 예제 테이블 생성하기

먼저 URL을 저장할 테이블을 생성합니다.

mysql> create table DemoTable1361
-> (
-> URL text
-> );
Query OK, 0 rows affected (0.58 sec)

2. 샘플 데이터 삽입하기

INSERT 명령어를 사용해 여러 도메인의 URL 레코드를 입력합니다.

mysql> insert into DemoTable1361 values('Https://www.google.com//?id=1');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1361 values('Https://www.facebook.com//?id=2&name=John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1361 values('Https://www.yahoo.com//?id=3');
Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable1361 values('Https://www.google.com//?id=1');
Query OK, 1 row affected (0.16 sec)

3. 전체 레코드 확인하기

SELECT 문으로 테이블에 저장된 모든 레코드를 조회합니다.

mysql> select * from DemoTable1361;

실행 결과는 다음과 같습니다.

+-------------------------------------------+
| URL |
+-------------------------------------------+
| Https://www.google.com//?id=1 |
| Https://www.facebook.com//?id=2&name=John |
| Https://www.yahoo.com//?id=3 |
| Https://www.google.com//?id=1 |
+-------------------------------------------+
4 rows in set (0.00 sec)

현재 google.com 도메인의 URL이 두 개 포함되어 있는 것을 확인할 수 있습니다.

4. DELETE와 LIKE로 특정 도메인 URL 삭제하기

이제 LIKE 절과 와일드카드(%)를 사용해 'google.com' 도메인이 포함된 URL을 모두 삭제하는 쿼리를 실행합니다.

mysql> delete from DemoTable1361 where URL LIKE '%Https://www.google.com%';
Query OK, 2 rows affected (0.17 sec)

와일드카드 %는 앞뒤에 어떤 문자열이 오더라도 매칭되도록 해주므로, 해당 도메인을 포함한 모든 URL이 삭제 대상이 됩니다.

5. 삭제 결과 확인하기

다시 SELECT 문으로 테이블을 조회하여 삭제가 정상적으로 적용되었는지 확인합니다.

mysql> select * from DemoTable1361;

실행 결과는 다음과 같습니다.

+-------------------------------------------+
| URL |
+-------------------------------------------+
| Https://www.facebook.com//?id=2&name=John |
| Https://www.yahoo.com//?id=3 |
+-------------------------------------------+
2 rows in set (0.00 sec)

'google.com' 도메인의 URL 두 개가 모두 삭제되고, 나머지 레코드만 남아 있는 것을 확인할 수 있습니다.

정리

특정 도메인의 URL을 삭제할 때는 다음과 같은 형식의 쿼리를 사용합니다.

DELETE FROM 테이블명 WHERE 컬럼명 LIKE '%도메인%';

단, DELETE 작업은 되돌릴 수 없으므로 실제 운영 환경에서는 실행 전 반드시 SELECT 문으로 삭제 대상 레코드를 먼저 확인하고, 필요하다면 백업을 진행한 후 삭제하는 것이 안전합니다.