Mysql DELETE 문과 TRUNCATE 문의 차이

676 단어 데이터베이스
1. 테이블의 기록을 삭제한다.
DELETE 
FROM table1;
TRUNCATE TABLE table1;

2. 테이블의 일부 기록을 삭제하고 DELETE만 사용할 수 있습니다.
DELETE 
FROM table1
WHERE id > 5;

3. WHERE 문구를 추가하지 않으면 DELETE와 TRUNCATE는 같지만 조금 다르다. DELETE는 삭제된 기록 수를 되돌려주고TRUNCATE는 0을 되돌려준다.
4. 만약에 테이블에 자증 필드가 있다면 TRUNCATE TABLE와 WHERE 문구가 없는 DELETE를 사용하여 테이블의 모든 기록을 삭제한 후 이 자증 필드는 시작값을 1로 회복한다.
자동 증가 필드를 1로 복원하지 않으려면 DELETE 문에 WHERE 1 또는 WHERE 1=1과 같은 영구 조건을 추가할 수 있습니다.
총결산
DELETE는 WHERE 문구를 사용하여 지정한 기록을 삭제하고 삭제된 줄 수를 되돌릴 수 있지만 실행 속도가 빠르지 않습니다.
TRUNCATE는 모든 레코드만 삭제할 수 있고 지정된 레코드는 삭제할 수 없으며 삭제된 레코드 수는 반환할 수 없지만 매우 빠르게 실행됩니다.

좋은 웹페이지 즐겨찾기