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

MySQL에서 열(Column)의 모든 공백 제거하는 방법 – REPLACE() 함수 완벽 가이드

MySQL에서 열의 모든 공백 제거하기

MySQL에서 특정 열에 저장된 데이터의 모든 공백을 제거하려면 REPLACE() 함수를 사용하면 됩니다. REPLACE() 함수는 문자열 내에서 지정한 문자를 다른 문자로 치환해 주는 함수로, 공백을 빈 문자열('')로 바꾸면 모든 공백이 제거됩니다.

기본 문법

UPDATE yourTableName
SET yourColumnName = REPLACE(yourColumnName, ' ', '');

위 쿼리는 해당 테이블의 지정된 열에서 모든 공백(' ')을 찾아 빈 문자열로 대체합니다.

실습 예제

1. 테이블 생성

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> CREATE TABLE stripAllSpacesDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.56 sec)

2. 데이터 삽입

INSERT 명령을 사용하여 공백이 포함된 이름 데이터를 여러 개 삽입합니다.

mysql> INSERT INTO stripAllSpacesDemo(Name) VALUES('Jo h n');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO stripAllSpacesDemo(Name) VALUES(' Joh n');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO stripAllSpacesDemo(Name) VALUES('Jo hn');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO stripAllSpacesDemo(Name) VALUES('J ohn');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO stripAllSpacesDemo(Name) VALUES('John ');
Query OK, 1 row affected (0.14 sec)

3. 현재 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM stripAllSpacesDemo;

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

+----+-----------+
| Id | Name |
+----+-----------+
| 1 | Jo h n |
| 2 | Joh n |
| 3 | Jo hn |
| 4 | J ohn |
| 5 | John |
+----+-----------+
5 rows in set (0.00 sec)

각 행마다 공백의 위치가 다르게 포함되어 있는 것을 확인할 수 있습니다.

4. REPLACE() 함수로 모든 공백 제거

이제 UPDATE 문과 REPLACE() 함수를 함께 사용하여 Name 열의 모든 공백을 제거합니다.

mysql> UPDATE stripAllSpacesDemo SET Name = REPLACE(Name, ' ', '');
Query OK, 5 rows affected (0.12 sec)
Rows matched: 5 Changed: 5 Warnings: 0

5. 결과 확인

공백이 정상적으로 제거되었는지 다시 한번 전체 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM stripAllSpacesDemo;

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

+----+------+
| Id | Name |
+----+------+
| 1 | John |
| 2 | John |
| 3 | John |
| 4 | John |
| 5 | John |
+----+------+
5 rows in set (0.00 sec)

모든 행의 Name 값이 공백 없이 'John'으로 깔끔하게 정리된 것을 확인할 수 있습니다.

추가 팁

  • 탭(Tab)이나 줄바꿈 문자도 제거하려면: REPLACE() 함수를 여러 번 중첩하여 탭 문자(CHAR(9))나 줄바꿈(CHAR(10), CHAR(13))도 함께 처리할 수 있습니다.
  • 앞뒤 공백만 제거하려면: TRIM() 함수를 사용하는 것이 더 적합합니다. 예: UPDATE 테이블명 SET 열명 = TRIM(열명);
  • 데이터 백업 권장: UPDATE 문은 기존 데이터를 직접 변경하므로, 대량의 데이터를 수정하기 전에는 반드시 백업을 먼저 수행하는 것이 안전합니다.