[MariaDB] Update에서 CONCAT 활용하기

김성수·2020년 9월 14일
0

CONCAT

MariaDB(MySQL)에서

CONCAT 명령어는 그 의미처럼('concatenate: 사슬같이 잇다') 복수의 문자열을 하나로 이어준다.

UPDATE 구문에서 기존 문자열 필드 값과 원하는 문자열을 합치고 싶을 때 사용할 수 있다.
(SELECT 구문에서도 활용이 가능하다.)

UPDATE 테이블이름 SET CONCAT(필드이름, '합칠 문자') WHERE 조건;

or

UPDATE 테이블이름 SET CONCAT('합칠 문자', 필드이름) WHERE 조건;

예시 1.

MariaDB [test]> SELECT * FROM test LIMIT 1;
+--------+-------------+
| id     | test_string |
+--------+-------------+
| 276659 | hello       |
+--------+-------------+
MariaDB [test]> UPDATE test SET test_string=CONCAT(test_string, '_world') limit 1;

MariaDB [test]> SELECT * FROM test LIMIT 1;
+--------+-------------+
| id     | test_string |
+--------+-------------+
| 276659 | hello_world |
+--------+-------------+

예시 2

MariaDB [test]> SELECT * FROM test LIMIT 1;
+--------+-------------+
| id     | test_string |
+--------+-------------+
| 276659 | hello_world |
+--------+-------------+
MariaDB [test]> UPDATE test SET test_string=CONCAT('hi! ', test_string) limit 1;

MariaDB [test]> SELECT * FROM test LIMIT 1;
+--------+-----------------+
| id     | test_string     |
+--------+-----------------+
| 276659 | hi! hello_world |
+--------+-----------------+

결론

위의 방식은

  • 업데이트 해야하는 대상의 위치(ID)를 이미 알고 있을 때

기존 문자열 값을 스크립트로 가져와 원하는 문자열과 합치고, 다시 DB에 Update를 하는 것보다 더 효율적인 방법이 될 수 있다.

profile
뿌리가 튼튼한 사람이 되고자 합니다.

0개의 댓글