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;