WHERE 절 없이 UPDATE를 실행하면 테이블의 모든 행이 업데이트됩니다. 이를 일괄 업데이트라고 합니다.
테이블 생성 및 데이터 삽입
mysql> CREATE TABLE DemoTable (
-> BreakfastTime TIME
-> );
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable VALUES('7:30:45');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('8:00:30');
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable VALUES('7:55:00');
Query OK, 1 row affected (0.10 sec)
업데이트 전 데이터
mysql> SELECT * FROM DemoTable;
+---------------+ | BreakfastTime | +---------------+ | 07:30:45 | | 08:00:30 | | 07:55:00 | +---------------+ 3 rows in set (0.00 sec)
전체 행에 2시간 추가 (일괄 업데이트)
mysql> UPDATE DemoTable
-> SET BreakfastTime = ADDTIME(BreakfastTime, '2:00:00');
Query OK, 3 rows affected (0.13 sec)
Rows matched: 3 Changed: 3 Warnings: 0
업데이트 후 데이터
mysql> SELECT * FROM DemoTable;
+---------------+ | BreakfastTime | +---------------+ | 09:30:45 | | 10:00:30 | | 09:55:00 | +---------------+ 3 rows in set (0.00 sec)
핵심 함수: ADDTIME(시간, 더할시간)은 TIME/DATETIME 값에 시간을 더합니다. DATE_ADD(), DATE_SUB()도 날짜/시간 연산에 자주 쓰입니다. 실수로 전체 업데이트하지 않도록 WHERE 조건을 꼭 확인하세요.