본문 바로가기
IT/SQL 기초강좌 (PostgreSQL)

37강 SQL이 뭐지? PostgreSQL DELETE

by DoitSQL 2022. 12. 21.
728x90

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을 참조합니다. 

 

PostgreSQL Tutorial - Learn PostgreSQL from Scratch

Welcome to the PostgreSQLTutorial.com website! This PostgreSQL tutorial helps you understand PostgreSQL quickly. You’ll master PostgreSQL very fast through many practical examples and apply the knowledge in developing applications using PostgreSQL. If yo

www.postgresqltutorial.com

실습용 테이블에 대해서는 3강을 참조하세요.

 

3강 SQL이 뭐지? 도구들을 설치해보자. ( PostgreSQL, HeidiSQL )

지난 시간까지 SQL이 뭔지 대충 감을 잡는 시간을 가졌습니다. 이번 시간에는 본격적인 SQL을 공부하기 위해서 도구들을 설치해 보겠습니다. 1. PostgreSQL 설치 ( Windows10 64bit 기준


Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다.

 

728x90

댓글