DML(Data Manipulation Language)
- SELECT, INSERT, DELETE, UPDATE
- SELECT를 DQL(Data Query Language)이라는 의견도 있음
- 데이터 조작어
- SELECT문으로 조회한 테이블에 데이터를 추가, 변경, 삭제할 때 사용하는 명령어로 이루어져 있음
- 데이터 조회를 위해 SELECT문 다음으로 자주 사용하는 명령어니까 반드시 알아두기!!
- 항상 COMMIT을 해 줘야 변경된 사항이 반영되고, 다른 유저도 변경된 내용을 확인할 수 있음
테이블 생성하기
- 새로운 데이터가 발생하는 기능은 관련 테이블에 새 데이터를 추가해 주며 구현 가능
- 특정 테이블에 데이터를 새로 추가할 때 INSERT 사용
--DEPT 테이블을 복사해 DEPT_TEMP 테이블 생성
CREATE TABLE DEPT_TEMP AS SELECT * FROM DEPT;
INSERT
- 테이블에 데이터를 추가하는 데 사용
INSERT INTO 테이블 이름[(열1, 열2, ..., 열N)]
VALUES (열1에 들어갈 데이터, 열2에 들어갈 데이터, ..., 열N에 들어갈 데이터);
키워드 | 필수 요소 | 선택 요소 | 설명 |
---|
INSERT INTO | 테이블 이름 | 테이블의 열 | 새로운 데이터를 입력할 대상 테이블과 열을 입력 |
VALUES | 입력할 데이터 | - | INSERT INTO에서 지정한 테이블의 열 순서와 자료형에 맞는 입력 데이터 지정 |
INSERT INTO DEPT_TEMP(DEPTNO, DNAME, LOC) VALUES (50, 'DATABASE','SEOUL');
- 관리자 입장에서 보면 조회, 검색이 복잡함 -> 따져야 할 것들이 많기 때문
- INSERT, UPDATE, DELETE는 간단함 -> 한개씩 이루어지기 때문
UPDATE
UPDATE 테이블명 SET 칼럼명1=값1, 칼럼명2=값2...
[WHERE 조건]
DELETE
DELETE FROM 테이블명 [WHERE 조건]
ROLLBACK
- 원래 상태로 되돌리는 것(작업 취소)
- 실수로 UPDATE문을 실행했을 때 이 실행을 취소하기 위해 ROLLBACK 명령문을 사용할 수 있음
COMMIT
NULL 입력
- INSERT문으로 새로운 데이터를 추가할 때 특정 열에 들어갈 데이터가 확정되지 않았거나 굳이 넣을 필요가 없는 데이터인 경우 사용
NULL의 명시적 입력
- 데이터에 직접 입력하여 NULL을 명시적으로 지정할 수 있음
NULL의 암시적 입력
- INSERT문에 NULL이 들어가야 할 열 이름을 아예 입력하지 않는 것