SQL DML(INSERT,DELETE,MERGE,UPDATE,NULL)개념과 적용예제

Devel/DB_SQL|2020. 7. 22. 16:07
반응형

#DML

수정, 추가, 삭제

#INSERT

테이블에 데이터를 입력하기 위한 데이터 조작어.

SUB 쿼리 활용 가능,

컬럼 일대일 대응되어야 함.

+notnull로 지정되어 있는 컬럼에는 null이 들어갈 수 없다.

+중복 불가로 지정된 컬럼엔 똑같은 자료가 들어갈 수 없다.

(  ) -> 컬럼의 이름

VALUES  값은? 

 

 

#ERROR

WHY? 

값이 세개가 들어가야 하는데, 두개밖에 안들어가서.

 

+컬럼 이름을 꼭 순서대로 적지않아도 된다.

컬럼 이름을 적지 않아도 자동으로 들어감. 적어준 순서대로

데이터 테이블 순서에 맞게

 

#null

 

입력하려는 시점에서 해당 컬럼값을 모르거나, 미확정일때.

 

-묵시적방법;

넣지 않은 컬럼의 값은 자동으로  null값이 됨.

not null일 경우 생략 불가

 

-명시적인 방법

직접 NULL값을 넣어주겠다.

 

 

-특수 값 입력

각 컬럼의 값을 확인 해야 함.

 

#다중 행 입력

컬럼 이름만 뽑아온다.

제약조건은 복사 안되고, 딱 컬럼이름만 복사된다.

 

#create table

테이블 만드는 명령

 

#insert문

-복수 테이블에 대한 insert문

여러곳에서 뽑아와서 insert

  1. 무조건 insert all
  2. 조건 insert all
  3. 조건 insert first

 

1.insert all

 

2.조건  insert all

서브쿼리 조건이 만족하면 when 모두 실행.

 

 

** 기존테이블 삭제(#drop table)

 

 

 

#update(수정)

테이블에 저장된 행들을 변경할 때

한번에 여러 개의 행들을 변경할 수 있다.

 

 

 

-서브쿼리를 이용한 복수 컬럼 변경

 

 

#delete

테이블에 저장된 행들을 삭제한다.

한번에 여러개의 행들을 삭제할 수 있다.

where 조건을 써줘야 함.

 

#서브쿼리 사용 가능

 

#merge(병합)

구조가 같은(컬럼이름이 같은) 2개의 테이블을 비교하여 하나의 테이블로 합친다.

 

 

 

댓글()
loading