English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 SQL을 사용하여 데이터베이스 테이블에서 기록을 삭제하는 방법을 배웁니다.
사용하듯이INSERTINSERT 문과 마찬가지로 기록을 테이블에 삽입하는 것처럼, DELETE 문도 테이블에서 기록을 삭제할 수 있습니다.
DELETE 문은 테이블에서 하나나 여러 행을 삭제하는 데 사용됩니다.
DELETE FROM table_name WHERE condition;
경고:DELETE 문에서의WHEREWHERE 절이 행을 삭제할 기록을 지정합니다. 하지만, 선택 사항입니다. WHERE 절을 생략하거나 잊으면 테이블에서 모든 기록이 영구적으로 삭제됩니다.
다음에서 시작해 보겠습니다.테이블을 생성합니다장에서생성의persons에서 일부 기록을 삭제합니다.
우리가인물 (persons)현재 테이블은 다음과 같은 기록을 가지고 있습니다:
+----+--------------------+------------+-------------+ | id | name | birth_date | phone | +----+--------------------+------------+-------------+ | 1 | Peter Wilson | 1990-07-15 | 0711-020361 | | 2 | Carrie Simpson | 1995-05-01 | 0251-031259 | | 3 | Victoria Ashworth | 1996-10-17 | 0695-346721 | | 4 | George Bailey | 1993-03-05 | 0897-034214 | | 5 | Norman Bates | 1999-08-25 | 0522-556721 | +----+--------------------+------------+-------------+
다음 문장은 다음 조건에 따라 기록을 삭제합니다:보다id가3의인원(persons)에서 행을 삭제합니다。
DELETE FROM persons WHERE id > 3;
쿼리 실행 후에,인물 (persons)표는 다음과 같습니다:
+----+--------------------+------------+-------------+ | id | name | birth_date | phone | +----+--------------------+------------+-------------+ | 1 | Peter Wilson | 1990-07-15 | 0711-020361 | | 2 | Carrie Simpson | 1995-05-01 | 0251-031259 | | 3 | Victoria Ashworth | 1996-10-17 | 0695-346721 | +----+--------------------+------------+-------------+
주의:관련 정보를 참조하십시오SQL WHERE 절의 가이드를 통해 여러 가지 조건을 기반으로 테이블에서 레코드를 제거할 때 복잡한 쿼리를 형성하는 방법을 배울 수 있습니다.
또한, 위와 같이, WHERE 문에서 절을 지정하지 않으면 DELETE 문을 통해 테이블의 모든 행이 제거됩니다. 하지만 목표 테이블 자체는 제거되지 않으며, 이는 테이블 구조, 속성 및 인덱스가 변경되지 않는다는 것을 의미합니다. 하지만 테이블의 데이터는 비우게 됩니다.
다음 문장은 다음과 같이 제거됩니다:인물 (persons)테이블의 모든 레코드:
DELETE FROM persons;
현재, 여러분이 다음과 같이 시도하면인물 (persons)테이블에서데이터를 선택하거나 쿼리하십시오이렇게 하면 빈 결과 집합을 얻게 됩니다。