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

MySQL 테이블의 모든 레코드에 TRIM 함수 적용하기

TRIM 함수란?

MySQL의 TRIM() 함수는 문자열 앞과 뒤에 있는 불필요한 공백을 제거하는 데 사용됩니다. 데이터 입력 과정에서 실수로 공백이 함께 저장되는 경우가 종종 있는데, 이런 경우 TRIM 함수를 활용하면 손쉽게 정리할 수 있습니다.

이 글에서는 UPDATE 문과 TRIM() 함수를 조합하여 테이블의 모든 레코드에서 공백을 한 번에 제거하는 방법을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 예제로 사용할 테이블을 생성합니다.

mysql> create table DemoTable
(
    StudentName varchar(100)
);
Query OK, 0 rows affected (0.64 sec)

2. 샘플 데이터 삽입하기

INSERT 명령어를 사용하여 레코드를 삽입합니다. 여기서는 이름 앞뒤에 공백이 포함된 데이터를 의도적으로 입력합니다.

mysql> insert into DemoTable values(' Adam Smith ');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(' David Miller ');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(' Chris Brown ');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(' Carol Taylor ');
Query OK, 1 row affected (0.10 sec)

3. 현재 데이터 확인하기

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

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

+-----------------------------------+
| StudentName                       |
+-----------------------------------+
| Adam Smith
| David Miller                      |
| Chris Brown                       |
| Carol Taylor                      |
+-----------------------------------+
4 rows in set (0.00 sec)

4. TRIM 함수로 전체 레코드 공백 제거하기

다음은 UPDATE 문과 TRIM() 함수를 사용하여 MySQL 테이블의 모든 레코드에서 앞뒤 공백을 제거하는 쿼리입니다.

mysql> update DemoTable set StudentName=trim(StudentName);
Query OK, 4 rows affected (0.24 sec)
Rows matched: 4 Changed: 4 Warnings: 0

5. 결과 확인하기

테이블의 레코드를 다시 한번 조회해 보겠습니다.

mysql> select *from DemoTable;

실행 결과입니다. TRIM() 함수를 통해 모든 레코드의 앞뒤 공백이 성공적으로 제거된 것을 확인할 수 있습니다.

+-----------------+
| StudentName     |
+-----------------+
| Adam Smith      |
| David Miller    |
| Chris Brown     |
| Carol Taylor    |
+-----------------+
4 rows in set (0.00 sec)

마무리

UPDATE 문과 TRIM() 함수를 함께 사용하면 테이블 전체 레코드의 불필요한 공백을 한 번의 쿼리로 깔끔하게 정리할 수 있습니다. 참고로 왼쪽 공백만 제거하려면 LTRIM(), 오른쪽 공백만 제거하려면 RTRIM() 함수를 사용하면 되며, 특정 문자를 제거하고 싶다면 TRIM(BOTH '문자' FROM 컬럼명) 형태로 활용할 수도 있습니다.