DELETE

설명

DELETE 문을 사용하여 테이블 내에 레코드를 삭제할 수 있으며, WHERE 절과 결합하여 삭제 조건을 명시할 수 있다. 삭제하고자 하는 레코드의 개수를 한정하려면 LIMIT 절에 삭제하고자 하는 레코드 개수를 지정할 수 있다. WHERE 절을 만족하는 레코드 개수가 row_count를 초과하면 row_count 개의 레코드만 삭제된다.

구문

DELETE FROM <table_specification> [ WHERE <search_condition> ] [LIMIT row_count]

 

<table_specification> ::= <table_hierarchy> | ( <table_hierarchy_comma_list )

 

<table_hierarchy> ::= [ ONLY ] <table_name> |

                      ALL <table_name> [ EXCEPT <table_specification> ]

예제

CREATE TABLE a_tbl(

id INT NOT NULL,

phone VARCHAR(10));

INSERT INTO a_tbl VALUES(1,'111-1111'), (2,'222-2222'), (3, '333-3333'), (4, NULL), (5, NULL);

 

DELETE FROM a_tbl WHERE phone IS NULL LIMIT 1;

 

--delete one record only from a_tbl

SELECT * FROM a_tbl;

           id  phone

===================================

            1  '111-1111'

            2  '222-2222'

            3  '333-3333'

            5  NULL

 

--delete all records from a_tbl

DELETE FROM a_tbl;