select * from book; -- 삭제 대상 테이블 조회
CREATE TABLE bak_20140612_book SELECT * FROM book; -- 삭제 대상 테이블의 데이터를 새로운 백업 테이블에 모두 이관
truncate table book; -- 삭제 대상 테이블의 데이터 한번에 삭제
-- 일부 데이터 남기고 나머지만 삭제
select * from member;
CREATE TABLE bak_20140612_member SELECT * FROM member;
select * from member where USER_ID not in ("1111@gmail.com","2222@live.com","3333@nate.com","4444@naver.com");
delete from member where USER_ID not in ("1111@gmail.com","2222@live.com","3333@nate.com",4444@naver.com);
truncate
http://radiocom.kunsan.ac.kr/lecture/oracle/sql/truncate.html -TRUNCATE TABLE 문
RUNCATE
문은 TABLE이나 CLUSTER로부터 모든 행(row)을 삭제하기 위해 사용된다.
• drop과 동일한 테이블 삭제 명령이지만,
TRUNCATE 문은 테이블내의 모든 데이터만 삭제된다.
• 기억공간과 구조 모두를 반납하는 drop과 달리 truncate 문은 테이블에
사용된 기억공간(memory)은 회수되지만 테이블의 구조는 남는다.
• delete 문은 rollback이 가능하지만, TRUNCATE
문은 auto COMMIT이므로 rollback할 수 없다.
• 테이블 소유자나 DELETE TABLE 권한이 있어야만 가능하다.
•
테이블에 생성된 제약조건과 연관된 인덱스, 뷰, 시노님은 그대로 유지된다.
'차근차근 > SQL' 카테고리의 다른 글
mssql , CONVERT함수 ,SET IDENTITY_INSERT (0) | 2015.05.29 |
---|---|
mysql pk추가 삭제 (0) | 2015.01.05 |
mysql dump만들기(백업) , 복구 (import) (0) | 2014.12.29 |
engine mysql (0) | 2014.12.24 |
DUAL (0) | 2014.07.29 |