본문 바로가기
CS/DB

데이터 추가, 갱신, 삭제 - INSERT / UPDATE / DELETE

by 넬준 2021. 12. 3.

추가 - INSERT

INSERT INTO 테이블명 VALUES(값1, 값2, ...);

 

열을 지정하여 INSERT

 

INSERT INTO 테이블명(열1, 열2, ...) VALUES(값1, 값2, ...)
INSERT INTO 테이블명(열1, 열2, ...) VALUES(값1, default, ...)

 

지정하지 않은 열에는 테이블 생성 시 설정한 default값이 저장된다.

혹은 default 키워드를 직접 사용하여 default값을 열에 저장할 수 있다.

 

만일 NOT NULL 제약이 걸려 있는 열은 NULL값이 허용되지 않는다.

 

 

갱신 - UPDATE

 

UPDATE 테이블명 SET 열1=값1, 열2=값2, .... WHERE 조건식

 

DELETE와 달리 테이블의 셀 값을 갱신하는 명령이다.

SET 구에 갱신식의 순서에 따라 처리 값이 달라질 수 있으므로 처리 순서를 신경 써야 한다.

 

 

삭제 - DELETE

 

DELETE FROM 테이블명 WHERE 조건식

 

삭제는 행 단위로 수행된다. WHERE 구 조건식에 맞는 모든 행을 삭제한다.

열을 지정해서 해당 열만 삭제할 수 없다.

 

* 물리삭제 / 논리삭제

 

물리삭제

DELETE 명령으로 직접 데이터를 삭제하는 방식

 

논리삭제

실제로 행을 삭제하지 않고 '삭제 flag' 같은 열의 값을 변경함으로써 삭제한 것 처럼 가장하는 것이다.

SELECT를 실행할 때도 이 삭제 flag를 조건식으로 하여 해당 행이 삭제된 것처럼 한다.

 

데이터를 삭제하지 않기 때문에 이전 상태로 돌리기 쉬운 장점이 있다.

삭제하더라도 저장공간이 늘어나지 않고, 데이터양이 늘어나면 검색속도가 떨어질 수 있다.

 

예를 들어 쇼핑몰 사이트에서 주문 취소할 경우 해당 주문 데이터를 물리삭제하지 않고 논리삭제하는 것이 좋다.

주문 관련 통계를 낼 때와 같은 상황에서는 필요한 데이터이기 때문이다.

'CS > DB' 카테고리의 다른 글

그룹화 - GROUP BY  (0) 2021.12.03
집계함수 - COUNT / SUM / AVG / MIN / MAX  (0) 2021.12.03
CASE문  (0) 2021.12.03
연산  (0) 2021.12.03
결과 행 제한(LIMIT OFFSET)  (0) 2021.12.03

댓글