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

MySQL UPDATE 쿼리로 공백 제거하는 방법 (TRIM 함수 완벽 가이드)

MySQL에서 공백을 제거하는 UPDATE 쿼리

MySQL에서 문자열 데이터에 포함된 불필요한 공백을 제거하려면 TRIM() 함수를 사용하면 됩니다. TRIM() 함수는 문자열 앞과 뒤에 위치한 공백을 모두 제거해 주는 유용한 문자열 함수입니다.

기본 구문은 다음과 같습니다.

UPDATE yourTableName SET yourColumnName=TRIM(yourColumnName);

예제 테이블 생성하기

위 구문을 실제로 이해하기 위해 예제 테이블을 먼저 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table removeSpaceDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> UserId varchar(20),
-> UserName varchar(10),
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.81 sec)

공백이 포함된 샘플 데이터 삽입

INSERT 명령을 사용하여 앞뒤 공백이 포함된 레코드들을 테이블에 삽입합니다.

mysql> insert into removeSpaceDemo(UserId,UserName) values('John1267 ','John');
Query OK, 1 row affected (0.25 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values(' 12Larry56','Larry');
Query OK, 1 row affected (0.17 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values(' David909','David');
Query OK, 1 row affected (0.18 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values('Bob912 ','Bob');
Query OK, 1 row affected (0.13 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values(' Sam123 ','Sam');
Query OK, 1 row affected (0.10 sec)

현재 데이터 확인하기

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

mysql> select *from removeSpaceDemo;

다음은 공백이 포함된 상태의 레코드를 보여주는 출력 결과입니다.

+----+----------------+----------+
| Id | UserId | UserName |
+----+----------------+----------+
| 1 | John1267 | John |
| 2 | 12Larry56 | Larry |
| 3 | David909 | David |
| 4 | Bob912 | Bob |
| 5 | Sam123 | Sam |
+----+----------------+----------+
5 rows in set (0.00 sec)

TRIM() 함수로 공백 제거하기

이제 TRIM() 함수를 활용하여 UserId 컬럼의 공백을 제거하는 UPDATE 쿼리를 실행합니다.

mysql> update removeSpaceDemo set UserId=TRIM(UserId);
Query OK, 5 rows affected (0.33 sec)
Rows matched: 5 Changed: 5 Warnings: 0

쿼리 실행 후 테이블의 레코드를 다시 한번 확인해 보겠습니다.

mysql> select *from removeSpaceDemo;

다음은 공백이 제거된 후의 출력 결과입니다.

+----+-----------+----------+
| Id | UserId | UserName |
+----+-----------+----------+
| 1 | John1267 | John |
| 2 | 12Larry56 | Larry |
| 3 | David909 | David |
| 4 | Bob912 | Bob |
| 5 | Sam123 | Sam |
+----+-----------+----------+
5 rows in set (0.00 sec)

RTRIM(), LTRIM() 함수 활용하기

상황에 따라 TRIM() 대신 RTRIM() 함수를 사용할 수도 있습니다. RTRIM()은 문자열 오른쪽(뒤쪽)의 공백만 제거하며, 반대로 왼쪽(앞쪽) 공백만 제거하고 싶다면 LTRIM() 함수를 사용하면 됩니다.

RTRIM() 사용 구문은 다음과 같습니다.

UPDATE yourTableName SET yourColumnName=RTRIM(yourColumnName);

이처럼 MySQL에서는 TRIM(), RTRIM(), LTRIM() 함수를 조합하여 원하는 위치의 공백을 손쉽게 정리할 수 있습니다. 특히 사용자 입력값을 저장하는 컬럼이라면 데이터 일관성을 위해 주기적으로 공백을 정리해 주는 것이 좋습니다.