SQL 4장 정리

INSERT 

 - 테이블의 행 단위로 데이터를 추가해주는 명령어 

 

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

 

INSERT INTO smaple41 VALUES (1, 'ABC', '2014-01-25');

 - 값을 지정할때는 해당 열의 데이터 형식에 맞도록 해야함 

 - 명령을 실행해도 처리상태만 표시될뿐 결과를 출력하지는 않으므로 SELECT 명령을 통해 확인해봐야한다. 

 

INSERT INTO sample41 (a, no) VALUES ('XYZ', 2);

 - 지정한 열에 값을 넣어 행을 추가할 수 있다. 

 - 만약 넣고 싶은 행에 NOT NULL 제약이 걸려있다면 NULL 값을 허용하지 않는다.

 

 

DEFAULT

 - 명시적으로 값을 지정하지 않았을 경우 사용하는 초깃값을 말한다. 

 - DEFAULT 값은 테이블을 정의할 때 지정할 수 있다. (보통 DEFAULT값은 NULL로 지정되어 있다.)

 

INSERT INTO sample411 (no, d) VALUES(2, DEFAULT);

 - DEFAULT를 명시적으로 저장하는 방법이다. 

 

 

DELETE 

 - 데이터를 삭제하는 명령어 

 - 삭제는 '행' 단위로 이루어지며 열을 지정하여 해당 열만 삭제하는것은 불가능하다. 

 

DELETE FROM 테이블명 WHERE 조건식

 

DELETE FROM smaple41 WHERE no = 3;

 - WHERE구를 지정해주지 않는 경우 데이블의 모든 데이터가 삭제된다. 

 - WHERE구를 지정해준 경우 해당 조건식에 맞는 행만 삭제 대상이된다.

 - DELETE 명령에서는 ORDER BY 구는 사용할 수 없다. 

 

 

UPDATE 

 - 데이터를 갱신해주는 명령어 

 - 테이블의 셀 값을 갱신해주는 명령어이다. 

 - DELETE와 달리 셀 단위로 데이터를 갱신할 수 있다. 

 - WHERE구를 생략하면 테이블의 모든 행이 갱신된다. 

 

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

 - SET구를 이용하여 갱신할 열과 값을 지정한다. 

 - 자료형에 맞는 값을 지정해주어야 한다. 

 - 갱신해야 할 열과 값이 복수인 경우에는 열 = 값을 콤마로 구분하여 리스트 형식으로 저장 가능하다. 

 

UPDATE sample41 SET b = '2014-09-07' WHERE no=2;

 

UPDATE sample41 SET no = no + 1;

 - 갱신 후의 값은 본래 값에 1을 더한 결과이다. 증가 연산과 같은 형식이다.

 

UPDATE sample41 SET a = 'xxx' , b = '2014-01-01' WHERE no = 2;

 - 갱신할 열을 여러 개 지정할 수 있다.

 

UPDATE sample41 SET a = NULL;

 - NULL로 갱신이 가능하다. 하지만 NOT NULL 제약이 걸려있으면 NULL은 허용되지 않는다.

 

 

물리삭제와 논리삭제 

 - 물리삭제

=> SQL의 DELETE 명령을 사용해 직접 데이터를 삭제하는 방식 

 

 - 논리삭제

=> 테이블에 '삭제 플래그'와 같은 열을 미리 준비하여 데이터를 실제로 삭제하는 대신 UPDATE 명령을 통해 '삭제플래       그'의 값을 유효하게 갱신해두는 방식 (실제 데이터는 남아있지만 삭제된 것 처럼 취급하는 것)

     데이터를 실제로 삭제하지 않아 삭제 전으로 쉽게 되돌릴 수 있지만 DB의 저장용량이 늘어나지않는 것, 검색속도가       떨어진다는 단점이 있다. 

 

 

'DB' 카테고리의 다른 글

[ORACLE] SQL SELECT 칼럼 가로로 합쳐서 조회  (0) 2022.08.17
프로그래머스 - SQL1  (0) 2021.12.13
SQL 5장 정리  (0) 2019.10.11
TAGS.

Comments