37강 SQL이 뭐지? PostgreSQL DELETE
PostgreSQL
SQL이 뭐지? 37강 시작합니다.
이번 강의에서는
▶ PostgreSQL DELETE statement
에 대해서 알아보겠습니다.
테이블에서 데이터를 삭제하려면 PostgreSQL DELETE 문을 사용합니다.
Introduction to PostgreSQL DELETE statement
PostgreSQL DELETE 문을 사용하면 테이블에서 하나 이상의 행을 삭제할 수 있습니다.
다음은 DELETE 문의 기본 구문을 보여줍니다.
DELETE FROM table_name
WHERE condition;
위 구문에서:
● 먼저 DELETE FROM 키워드 다음에 데이터를 삭제할 테이블의 이름을 지정합니다.
● 둘째, WHERE 절의 조건을 사용하여 테이블에서 삭제할 행을 지정합니다.
WHERE 절은 선택 사항입니다. WHERE 절을 생략하면 DELETE 문이 테이블의 모든 행을 삭제합니다.
DELETE 문은 삭제된 행 수를 반환합니다. DELETE 문이 행을 삭제하지 않은 경우 0을 반환합니다.
삭제된 행을 클라이언트에 반환하려면 다음과 같이 RETURNING 절을 사용합니다.
DELETE FROM table_name
WHERE condition
RETURNING (select_list | *)
별표(*)를 사용하면 table_name에서 삭제된 행의 모든 열을 반환할 수 있습니다.
특정 열을 반환하려면 반환 키워드 뒤에 해당 열을 지정합니다.
DELETE 문은 테이블에서 데이터만 제거합니다. 그것은 테이블의 구조를 수정하지 않습니다. 열 제거와 같은 테이블 구조를 변경하려면 ALTER TABLE 문을 사용해야 합니다. |
PostgreSQL DELETE statement examples
시연을 위한 샘플 테이블을 준비해 봅시다.
다음 문은 링크라는 새 테이블을 만들고 일부 샘플 데이터를 삽입합니다.
DROP TABLE IF EXISTS links;
CREATE TABLE links (
id serial PRIMARY KEY,
url varchar(255) NOT NULL,
name varchar(255) NOT NULL,
description varchar(255),
rel varchar(10),
last_update date DEFAULT now()
);
INSERT INTO
links
VALUES
('1', 'https://www.postgresqltutorial.com', 'PostgreSQL Tutorial', 'Learn PostgreSQL fast and easy', 'follow', '2013-06-02'),
('2', 'http://www.oreilly.com', 'O''Reilly Media', 'O''Reilly Media', 'nofollow', '2013-06-02'),
('3', 'http://www.google.com', 'Google', 'Google', 'nofollow', '2013-06-02'),
('4', 'http://www.yahoo.com', 'Yahoo', 'Yahoo', 'nofollow', '2013-06-02'),
('5', 'http://www.bing.com', 'Bing', 'Bing', 'nofollow', '2013-06-02'),
('6', 'http://www.facebook.com', 'Facebook', 'Facebook', 'nofollow', '2013-06-01'),
('7', 'https://www.tumblr.com/', 'Tumblr', 'Tumblr', 'nofollow', '2013-06-02'),
('8', 'http://www.postgresql.org', 'PostgreSQL', 'PostgreSQL', 'nofollow', '2013-06-02');
링크 테이블의 내용은 다음과 같습니다.
1) Using PostgreSQL DELETE to delete one row from the table
다음 문은 DELETE 문을 사용하여 ID가 8인 행 하나를 링크 테이블에서 삭제합니다.
DELETE FROM links
WHERE id = 8;
1이 하나의 행이 삭제되었음을 나타냅니다.
다음 문은 DELETE 문을 사용하여 ID가 10인 행을 삭제합니다.
DELETE FROM links
WHERE id = 10;
ID가 10인 행이 없으므로 문은 0을 반환합니다.
2) Using PostgreSQL DELETE to delete a row and return the deleted row
다음 문은 ID가 7인 행을 삭제하고 삭제된 행을 클라이언트에 반환합니다.
DELETE FROM links
WHERE id = 7
RETURNING *;
3) Using PostgreSQL DELETE to delete multiple rows from the table
다음 문은 링크 테이블에서 두 개의 행을 삭제하고 삭제된 행의 ID 열에 있는 값을 반환합니다.
DELETE FROM links
WHERE id IN (6,5)
RETURNING *;
4) Using PostgreSQL DELETE to delete all rows from the table
다음 문은 WHERE 절 없이 DELETE 문을 사용하여 링크 테이블에서 모든 행을 삭제합니다.
DELETE FROM links;
요약
● 테이블에서 하나 이상의 행을 삭제하려면 DELETE FROM 문을 사용합니다.
● 삭제할 행을 지정하려면 WHERE 절을 사용합니다.
● RETURNING 절을 사용하여 삭제된 행을 반환합니다.
본 강의는 PostgreSQL Tutorial을 참조합니다.
실습용 테이블에 대해서는 3강을 참조하세요.
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다. |
'IT > SQL 기초강좌 (PostgreSQL)' 카테고리의 다른 글
39강 SQL이 뭐지? PostgreSQL Upsert (3) | 2022.12.21 |
---|---|
38강 SQL이 뭐지? PostgreSQL DELETE JOIN (2) | 2022.12.21 |
36강 SQL이 뭐지? PostgreSQL UPDATE Join (2) | 2022.12.21 |
35강 SQL이 뭐지? PostgreSQL UPDATE (3) | 2022.12.21 |
34강 SQL이 뭐지? PostgreSQL INSERT Multiple Rows (1) | 2022.12.21 |
댓글