>데이터 베이스 >SQL >테이블을 삭제하는 SQL 명령은 무엇입니까?

테이블을 삭제하는 SQL 명령은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-10-30 14:15:4834978검색

테이블 삭제를 위한 SQL 명령: 1. 내용 및 정의 삭제, 공간 해제 2. 내용 자르기, 공간 해제(정의 삭제는 아님) 3. 테이블의 행을 삭제하는 데 사용됩니다. truncate table 테이블의 모든 행은 삭제되지만 테이블 구조와 해당 열, 제약 조건, 인덱스 등은 변경되지 않은 상태로 유지됩니다.

테이블을 삭제하는 SQL 명령은 무엇입니까?

테이블 삭제를 위한 sql 명령:

1. drop(테이블 삭제): 공간을 확보하기 위해 콘텐츠와 정의를 삭제합니다. 간단히 말하면, 새로운 테이블을 추가하지 않는 한 향후 데이터 추가는 불가능합니다.

drop 문은 테이블 구조가 의존하는 제약 조건과 트리거 인덱스를 삭제합니다. 테이블에 의존하는 저장 프로시저/함수는 유지되지만 상태는 유효하지 않습니다.

2. 자르기(테이블의 데이터 지우기): 콘텐츠를 삭제하고 공간을 해제하지만 정의는 삭제하지 않습니다(테이블의 데이터 구조 유지). drop과 달리 테이블 데이터만 지웁니다.

참고: truncate는 행 데이터를 삭제할 수 없습니다. 삭제하려면 테이블을 지워야 합니다.

3. delete(테이블의 데이터 삭제): delete 문은 테이블의 행을 삭제하는 데 사용됩니다. delete문의 삭제 과정은 테이블에서 한 행씩 삭제하는 것이며 동시에 해당 행의 삭제 작업은 롤백 작업을 위한 트랜잭션 기록으로 로그에 저장된다.

where 없이 자르고 삭제: 데이터만 삭제하고 테이블의 구조(정의)는 삭제하지 않습니다.

4. Truncate table은 테이블의 모든 행을 삭제하지만 테이블 구조와 해당 열, 제약 조건, 인덱스 등은 삭제합니다. 변함없이 유지됩니다. 새 행을 식별하는 데 사용되는 개수는 해당 열의 시드로 재설정됩니다. ID 개수 값을 유지하려면 대신 삭제를 사용하세요.

테이블 정의와 해당 데이터를 삭제하려면 drop table 문을 사용하세요. ​

​ 5. 외래 키 제약 조건으로 참조되는 테이블의 경우 truncate table을 사용할 수 없습니다. 대신 where 절 없이 delete 문을 사용하세요. truncate table은 로그되기 때문에 트리거를 활성화할 수 없습니다.

6. 일반적으로 실행 속도: 삭제>잘라내기>

7. 삭제 문은 데이터베이스 작업 언어(dml)입니다. 이 작업은 롤백 세그먼트에 배치되며 트랜잭션이 제출될 때까지 적용되지 않습니다. 해당 트리거가 있으면 실행 중에 트리거됩니다. E Truncate 및 Drop은 데이터베이스 정의 언어(DDL)입니다. 원본 데이터는 롤백 세그먼트에 배치되지 않으며 해당 작업은 Trigger를 트리거하지 않습니다.

관련 학습 권장 사항:

SQL 비디오 튜토리얼

위 내용은 테이블을 삭제하는 SQL 명령은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.