[1. 개요]
Table 내 특정 row 들에 대해서 어떤 값을 변경해야 할 때, 사용할 수 있는 방법을 정리한다.
UPDATE 는 수정할 row 가 미리 존재해야 한다.
REPLACE 는 Primary key 나 Unique key 를 기준으로 명시한 column 에 해당 하는 값들을 수정한다.
- pk 나 unique key 가 없으면 insert 로 동작한다.
- update 가 아니라 해당 row 삭제 후, 다시 insert 하는 형태로 동작한다.
[2. UPDATE]
가장 기본적인 방법,
조건에 부합하는 row 들에 대해서 해당 column 에 저장된 값을 수정한다.
UPDATE 'Table1'
SET 'Table1'.'Col' = 'your_value'
WHERE 'any condition';
다른 방법 (원하는 대로 동작하나? 확인 필요)
Table1 의 key 와 Table2 의 key 가 같은 항목들에 대해서, value 를 수정한다.
UPDATE 'Table1'
INNER JOIN `Table1`.key = `Table2`.key
SET `Table1`.value = `Table2`.value
[3. REPLACE]
REPLACE INTO table1(column_list)
SELECT column_list
FROM table2
WHERE condition
# 해당 key 가 있으면 삭제하고, 다시 집어넣기 때문에 기존 데이터는 유실 된다...
REPLACE INTO Person (id, city)
VALUES(4,'Amsterdam');
[4. ref]
'MySQL' 카테고리의 다른 글
[작성해야 됨] mysql. 유용한 함수 (0) | 2024.02.22 |
---|---|
MySQL. 테이블 용량 관리 (0) | 2023.09.26 |
MySQL. unique key (0) | 2023.06.22 |
MySQL, innodb_autoinc_lock_mode (0) | 2023.06.21 |
MySQL, SQL_SAFE_UPDATES (0) | 2023.06.15 |