INSERT
: 테이블에 새로운 데이터를 입력할 때 사용하는 명령어
: 데이터를 입력할 때 숫자 값 이외에는 데이터를 '작은 따옴표'로 감싸야 함
INSERT INTO 테이블명 (컬럼명1, 컬럼명2, ...)
VALUES (데이터1, 데이터2, ...);
: 모든 데이터를 입력할 때에는 테이블명 뒤 컬럼명은 생략이 가능함
INSERT INTO 테이블명 VALUSE(데이터1, 데이터2, ...);
: 유닉스는 DATE 타입을 넣을 때 날짜 형식이 맞지 않으면 에러가 발생함
날짜 형식을 변경하는 명령어를 사용해 주어야함
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD:HH24:mi:SS';
: 자동 NULL값 입력하기
- 데이터를 입력할 때 컬럼에 값을 입력하지 않으면 자동으로 NULL값이 들어감
: 수동 NULL값 입력하기
- 입력할 데이터를 적는 부분에 NULL을 입력해주면 됨
: 음수값 및 소수점자리 값 입력하기
- NUMBER에 크기를 지정해주지 않으면 정상적으로 출력됨
- NUMBER에 크기만 지정해주면 소수점 자리는 표시해주지 않음
- NUMBER에 크기와 소수점 자리수까지 지정해주면 정상적으로 출력됨
INSERT와 서브쿼리를 사용해서 여러행 입력
(professor 테이블)
이메일 및 주소 형식이 들어가있어 하이퍼링크가 걸리면서 제대로 입력되지 않아 txt파일로 올렸습니다.
INSERT ALL
: 테스트를 위한 테이블 생성
: INSERT ALL
: 확인
UPDATE
: 기존 데이터를 다르 ㄴ데이터로 변경할 때 사용하는 방법
: WHERE절을 누락시키지 않도록 주의
UPDATE 테이블명
SET 컬럼명 = 데이터
WHERE 조건;
DELETE
: 데이터를 삭제하는 구문
: DELETE한 데이터는 삭제되지 않고 해당 블록에 그대로 남아있으며 특별한 툴(BBED 등)을 이용하면 복구 가능
DELETE FROM 테이블명 WHERE 조건;
MERGE
: 여러 테이블의 데이터를 합치는 병합을 의미
MERGE INTO 테이블1
USING 테이블2
ON (병합 조건절) // 조건이 만족시
WHEN MATCHED THEN // 기존 테이블1에 있던 해당 내용은 테이블2의 내용으로
UPDATE SET (업데이트 내용) // UPDATE 또는
DELETE WHERE (조건) // DELETE가 수행됨
WHEN NOT MATCHED THEN // 만약 조건이 만족하지 않는다면
INSERT VALUES(컬럼명); // 테이블2의 내용이 테이블1에 신규 INSERT 됨
UPDATE 조인
: UPDATE문에 조인이 발생하는 경우는 WHERE절에만 다른 테이블과 조인을 하는 경우와
WHERE절과 SET절 모두 다른 테이블과 조인을 하는 경우입니다.
: 일반적인 UPDATE - 단일 테이블
: 일반적인 UPDATE 조인
- WHERE절에서 다른 테이블과 조인
TRANSACTION
: 논리적인 작업 단위를 의미
: 여러가지 DML 작업들을 하나의 단위로 묶어둔 것을 의미
: 해당 트랜잭션 내에 있는 모든 DML이 성공해야 해당 트랜잭션이 성공하는 것이고
만약 1개의 DML이라도 실패하면 전체가 실패하게 됨
: 트랜잭션의 시작은 DML이고 완료하려면 TCL, DCL, DDL을 입력
: TCL 명령어
명령어 | 설명 |
COMMIT | 트랜잭션 내의 작업의 결과를 확정 |
ROLLBACK | 트랜잭션 내의 모든 명령어들을 취소 |
CHECKPOINT | ROLLBACK하는 시점을 지정 |
: DML작업을 한 후에는 반드시 COMMIT이나 ROLLBACK 명령을 수행해야 작업이 마무리가 된다
'DataBase > OracleDB' 카테고리의 다른 글
Oracle 11g ex 설치 (0) | 2020.09.14 |
---|---|
Oracle 11g ex 삭제 (0) | 2020.09.14 |
DDL 명령과 딕셔너리 (0) | 2020.09.04 |
Constraint (제약 조건) (0) | 2020.09.04 |
JOIN (0) | 2020.09.03 |