-
2.7 SQL 데이터 조작어(DML) INSERTSQL 과정 2019. 2. 7. 16:39
1. 데이터 조작어(DML)
가. 데이터의 검색 및 삽입, 삭제, 변경을 위해서 사용하는 언어
나. DML은 데이터베이스의 운영 및 사용과 관련해 가장 많이 사용하는 질의문으로 데이터 검색과 수정 등
을 처리한다.
다. INSERT 문
1) 테이블에 새로운 로우를 추가할때 사용
2) 테이블에 새로운 데이터를 입력하기 위해 사용하는 데이터 조작어
* dept02 테이블에(INTO) deptno, dname, loc컬럼 생성하여 값(VALUES)을 10, ACCOUNTING, NEW YOURK로 저장하였다.
(기존에 생성한 데이터 크기보다 큰 값을 넣게 되면 오류 발생[10-->100])
3) 컬럼명 생략하여 데이터 추가
가) 테이블의 모든 컬럼에 자료를 입력하는 경우에는 컬럼 목록을 기술하지 않아도 된다.
나) VALUSE절 다음의 값들이 테이블의 기본 컬럼 순서대로 입력된다.
다) 테이블의 컬럼 순서는 CREATE TABLE로 테이블을 생성 시의 순서를 따른다.
* 기존에 만들었던 테이블에 자료 데이터형식을 지키면 컬럼명은 생략이 가능하다.
4) 서브쿼리를 사용하여 데이터 추가
가) INSERT INTO 다음에 VALUES절 사용하는 대신 서브쿼리를 사용할수 있다.
나) INSERT 명령문에 지정한 컬럼의 개수나 데이터 타입이 서브쿼리를 수행한 결과와 동일해야한다.
(컬럼 목록 수 = 서브 쿼리 결과 목록수) = 주의
* dept 전체 컬럼을 서브 쿼리로 하여 dept03에 추가(INSERT)하였다
5) INSERT ALL 명령문
가) 다중 테이블에 다중행 입력
나) 서브 쿼리 결과를 조건 없이 여러 테이블에 입력 할수 있다.
다) WHEN절에서 지정한 조건에 만족하는 행을 해당되는 테이블에 각각 입력 할수 있다.
* 다중(INSERT ALL)으로 emp_hir, mgr에 값에 각각의 컬럼을 넣고 서브쿼리의 내용을 입력한다.
* 다중 INSERT ALL문에 WHEN 조건식과 THEN(WHEN 조건식이 참인 때)을 이용하여 값(VALUES)을 입력하여 저장후 출력
'SQL 과정' 카테고리의 다른 글
2.8 SQL 데이터 조작어(MERGE) (0) 2019.02.08 2.8 SQL 데이터조작어(UPDATE, DELETE) (0) 2019.02.08 2.7 SQL 데이터 딕셔너리(USER_TABLE, ALL, DBA) (0) 2019.02.07 2.7 SQL 데이터 정의어(DROP, TRUNCATE, RENAME TABLE, 삭제명령어들의 차이점) (0) 2019.02.07 2.7 SQL 데이터 정의어 ALTER TABLE(ADD, ALTER, DROP COLUMN) (0) 2019.02.07