5.1 DELETE FROM 문

SQL에서 쉽게 할 수 있는 것은 데이터를 삭제하는 것입니다. 절대적으로 모든 것을 매우 빠르게 삭제할 수 있으며 아무도 확인을 요청하지 않습니다.

가장 간단한 시나리오부터 시작해 보겠습니다. 테이블에서 한 행을 삭제하는 방법 .

이것은 가장 자주 보게 될 시나리오이며 일반적으로 특정 레코드의 삭제이며 표준 쿼리는 일반적으로 다음과 같습니다.

DELETE FROM table
WHERE id = 133;

이것은 열 이름을 지정할 필요가 없는 유일한 쿼리입니다. 결국 데이터는 행에서 즉시 삭제됩니다.

두 번째 시나리오는 id list 가 제공하는 행을 삭제하는 것 입니다 . 여기에서도 모든 것이 매우 간단합니다.

DELETE FROM table
WHERE id IN (1, 2, 3,);

세 번째 시나리오는 특정 조건과 일치하는 행을 제거하는 것입니다.

DELETE FROM table
WHERE condition;

모든 프로그래머를 해고하고 싶다고 가정하고 다음과 같은 요청을 작성해야 합니다.

DELETE FROM employee
WHERE occupation = 'Programmer';

마지막으로 모든 레코드를 삭제하려면 다음과 같은 쿼리를 작성할 수 있습니다.

DELETE FROM table

이 간단한 쿼리는 테이블에서 모든 레코드를 제거하기에 충분합니다. 그런데 이 경우에는 Ctrl + Z가 없습니다. 녹음은 복구 가능성없이 단순히 삭제됩니다. 따라서 백업을 더 자주 하십시오 .

5.2 모두 제거

빠른 제거(사용자에게 골칫거리 추가)를 위해 SQL에는 몇 가지 추가 명령이 있습니다.

테이블의 모든 데이터를 빠르게 삭제하는 방법은 무엇입니까? 연산자를 사용하십시오 TRUNCATE.

TRUNCATE TABLE table

테이블 이름에 오타가 하나 있고 며칠간의 데이터 복구가 제공됩니다. 데이터베이스 관리자가 아니라 다행입니다.

테이블의 데이터뿐만 아니라 테이블 자체를 삭제해야 하는 경우 다음과 같은 연산자가 DROP 있습니다 .

DROP TABLE table

그건 그렇고, 데이터베이스 스키마 와 유사한 옵션이 있습니다 . 데이터베이스 자체를 삭제하려면 다음을 수행하십시오.

DROP SCHEME database

또는:

DROP DATABASE database

DROP을 사용하여 다음 항목을 삭제할 수도 있습니다.

  • 이벤트
  • 기능
  • 절차
  • 색인
  • 보다
  • 방아쇠

다음은 데이터 삭제와 관련된 몇 가지 흥미로운 이야기입니다.

오늘의 휴식. GitLab, 시스템 관리자 오류로 고객 데이터 300GB 삭제

sudo rm -rf 또는 2017/01/31의 GitLab.com 데이터베이스 사건 연대기

실리콘 밸리 "실리콘 밸리" - 데이터 삭제