| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- TigerGraph
- 오라클???출력
- GSQL
- hackerrank
- neo4j자격증
- HackerrankSQL
- 타이거그래프
- dpi-1072 version is unsupported windows
- hackerrankTypeofTriangle
- 오라클한글깨짐
- neo4j
- 오라클LANG
- oracle ????
- cx_oracle 에러
- hackerrankTypeofTrianglesolution
- 그래프데이터베이스
- hackerranckSQL
- GSQL101
- neo4jcypher
- neo4jcertificate
- 오라클 물음표
- Tigergraph GSQL
- DPI-1072
- how to DPI-1072
- DPI-1047
- how to DPI-1047
- graphDB
- SQL연습
- cx_oracle python oracle error
- oracle printed ????
- Today
- Total
song's note
[SQL전문가 가이드] 2과목 3장 관리구문 DDL, DML, DCL, TCL 본문
DML INSERT DELETE UPDATE
데이터를 입력, 수정 삭제할 수 있음
TCL
변경된 데이터를 반영하거나 취소
DDL
테이블 구조를 생성, 변경, 삭제
DCL
데이터에 관한 권한을 부여하거나 회수
DML (Data Manipulation Language)
자료들을 테이블이 입력, 수정, 삭제할 때 사용됨
1. INSERT
1-1. 단일행 INSERT
VALUES 절을 포함하며 한번에 한 행만 입력된다.
컬럼명의 기술 순서는 테이블에 정의된 컬럼 순서와 동일하지 않아도 됨
INTO절에 기술되지 않은 컬럼 값은 자동으로 NULL 값이 입력된다. (PK 제약이나 NOT NULL 제약이 있는 경우 에러 발생)
INSERT INTO EMP (NAME, AGE)VALUES ('홍길동', 27);
# 값을 모르는 경우 ''로 넣거나 NULL지정이 가능하다
INSERT INTO EMP VALUES ('호빵맨', NULL) ;
INSERT 절에 컬럼명을 직접 쓰지 않는 경우에는 테이블에 정의된 컬럼 순서대로 VALUES절을 작성해야 함
✅ 기존 컬럼이 삭제되거나 새로운 컬럼이 추가되는 경우를 대비하여 INTO절에 컬럼명을 기술하는 SQL문 작성이 권장됨
1-2. 서브쿼리를 이용한 다중 행 INSERT문
서브쿼리의 결과가 여러 행이면 한번에 여러 건의 데이터가 입력된다. 서브쿼리의 결과 컬럼 갯수가 INTO절의 컬럼 갯수와 일치해야함
2. UPDATE
입력한 데이터를 잘 못 입력하였거나 변경이 필요한 경우
UPDATE 테이블명
SET 변경대상컬럼 = 변경 값
WHERE 조건 ;
UPDATE EMP
SET AGE = 20
WHERE 이름 = 홍길동 ;
WHERE절이 없는 경우 해당 컬럼 값이 모든 데이터에 적용된다 .
전에 UPDATE문을 사용하다가 큰일날 뻔한 적이 생각난다 . .
✅ UPDATE 문 사용시, 꼭 WHERE문 확인하고 하기
3. DELETE
테이블에 저장된 데이터가 더이상 필요없어 데이터 삭제를 하는 경우
DELETE (FROM) 테이블명
WHERE 조건 ;
DELETE FROM EMP;
DELETE EMP;
FROM 은 생략이 가능하며, WHERE 절을 사용하지 않으면 테이블 전체가 삭제됨
4. MERGE
새로운 행을 입력하거나 기존 행을 수정하는 작업을 한번에 할 수 있음