망각에 재주 있는 나를 위해 기록하는 곳.

[SQL] 데이터 업데이트 (UPDATE) 본문

DB

[SQL] 데이터 업데이트 (UPDATE)

baobabtree 2024. 3. 28. 00:09

UPDATE 문은 데이터베이스에서 이미 존재하는 레코드(행)의 값을 업데이트할 때 사용한다.

특정 조건을 만족하는 레코드의 값을 변경하거나 업데이트할 때 사용됩니다.

 

 

기본 구조는 아래와 같다.

UPDATE 테이블명
SET
열1 = 값1,
열2 = 값2,
...
WHERE 조건;

 

 

예를 들면

UPDATE users
SET
email = 'newemail@example.com'
WHERE user_id = 1;

user_id가 1인 사용자의 이메일 주소를 newemail@example.com로 변경한다.

 

 

UPDATE account
SET last_login = CURRENT_TIMESTAMP
WHERE last_login IS NULL;

last_login에 값이 없으면(NULL이면) 현재 타임스탬프(CURRENT_TIMESTAMP)로 변경한다.

 

 

UPDATE account
SET last_login = created_at

last_login에 다른 컬럼의 값으로 업데이트 할 수도 있다. ( created_at이라는 컬럼이 있을 경우)

 

 

UPDATE tableA
SET original_col = tableB.new_col
FROM tableB
WHERE tableA.id = tableB.id

UPDATE join이라는 것도 있다.

tableA의 id 열과 tableB의 id 열이 일치하는 경우에만 업데이트를 수행한다.
tableA의 각 행에 대해 tableB에서 해당하는 행을 찾아와서 original_col 값을 new_col 값으로 업데이트한다.

 

 

UPDATE account
SET last_login = created_at
RETURNING account_id, last_login

RETURNING이란 것도 있는데, UPDATE를 진행하고 업데이트된 row에 대해서 account_id, last_login컬럼의 결과를 보여준다.

 

 

더 많은 활용 방법은 https://www.postgresql.org/docs/online-resources/에서

PostgreSQL Tutorial이나 Tutorials Point PostgreSQL을 참고하면 좋을 듯하다.