UPDATE 문을 사용하면 대상 테이블에 저장된 레코드의 컬럼 값을 새로운 값으로 업데이트할 수 있다. SET 절에는 업데이트할 컬럼 이름과 새로운 값을 명시하며, WHERE 절에는 업데이트할 레코드를 추출하기 위한 조건을 명시한다. LIMIT 절에 업데이트할 레코드 수를 명시할 수 있다.
UPDATE table_name SET column_name = {expr | DEFAULT} [, column_name = {expr | DEFAULT]...]
[WHERE search_condition]
[LIMIT row_count]
같은 UPDATE 문에서 한 컬럼은 한 번만 갱신 가능하다.
--creating a new table having all records copied from a_tbl1
CREATE TABLE a_tbl5 AS SELECT * FROM a_tbl1;
SELECT * FROM a_tbl5 WHERE name IS NULL;
;xr
=== <Result of SELECT Command in Line 1> ===
id name phone
=========================================================
NULL NULL '000-0000'
4 NULL '000-0000'
5 NULL '000-0000'
7 NULL '777-7777'
4 rows selected.
UPDATE a_tbl5 SET name='yyy', phone='999-9999' WHERE name IS NULL LIMIT 3;
SELECT * FROM a_tbl5;
;xr
=== <Result of SELECT Command in Line 1> ===
id name phone
=========================================================
NULL 'yyy' '999-9999'
1 'aaa' '000-0000'
2 'bbb' '000-0000'
3 'ccc' '333-3333'
4 'yyy' '999-9999'
5 'yyy' '999-9999'
6 'eee' '000-0000'
7 NULL '777-7777'
8 rows selected.