DML 은 데이터를 바꾸는 명령이고, 아직 확정되지 않아 COMMIT 전까지는 되돌릴 수 있다.
왜 그런지까지
INSERT 는 열 목록을 생략하면 표에 정의된 순서대로 모두 넣어야 한다. UPDATE 와 DELETE 에서 WHERE 를 빠뜨리면 모든 행이 대상이 되므로 주의한다.
MERGE 는 조건에 맞으면 UPDATE, 없으면 INSERT 를 한 번에 하는 명령이다. DML 은 트랜잭션에 묶이므로 COMMIT 하거나 ROLLBACK 해야 마무리된다.
지우는 세 가지
| 명령 | 종류 | 되돌리기 | 남는 것 |
|---|---|---|---|
| DELETE | DML | 된다 (ROLLBACK) | 표 구조와 안 지운 행 |
| TRUNCATE | DDL | 안 된다 | 표 구조만 |
| DROP | DDL | 안 된다 | 아무것도 |
DELETE vs TRUNCATE vs DROP
DELETE 는 행만 지우고 되돌릴 수 있다. TRUNCATE 는 행을 전부 지우고 되돌릴 수 없으며 구조는 남는다. DROP 은 표 자체를 없앤다.
넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다