본문 바로가기
Database/Oracle

Oracle [4] DDL과 DML (INSERT, UPDATE, DELETE)

by 8Antony 2022. 6. 22.

 

DDL (Data Definition Language)

 

 

한번 선언하면 끝, 트랜잭션 대상x 롤백이 안된다.

 

CREATE/ALTER/DROP -> 테이블 생성/ 수정/ 삭제

 

 

테이블 생성 

 

CREATE TABLE [테이블 이름] {
	컬럼명1 데이터형,
    컬럼명2 데이터형,
    컬럼명3 데이터형,
}

 

 

데이터형(자료형)

 

문자형: CHAR(size), VARCHAR2(size)
-> CHAR은 고정형, VARCHAR2는 가변형

숫자형: NUMBER

날짜형: DATE, TIMESTAMP(디테일)

 

 

테이블 복사

 

CREATE TABLE emp
	AS SELECT * FROM employees; (기존 데이터 내용 포함)

 

 

 

테이블 구조 수정

 

 

--컬럼추가
-> ALTER TABLE emp
	ADD(job VARCHAR2(20));
    

--컬럼수정
-> ALTER TABLE emp
	MODIFY(job VARCHAR2(20));
    
--테이블 삭제
-> DROP TABLE emp;

--테이블 데이터 삭제
-> DELETE eno FROM emp;

 

 

 

DML (Data Manipluation Language)

 

데이터 조작어 INSERT, UPDATE, DELETE, SELECT

 

 

INSERT

 

 

INSERT INTO EMP (
    ENO,
    ENAME
) VALUES (
    '9999',
    '안토니'
);

 

 

UPDATE

 

 

--화충교수를 정교수로 수정
UPDATE PROFESSOR
    SET ORDERS = '정교수',
        SECTION = '화학'
    WHERE PNAME = '화충';
    
COMMIT;

 

 

--salary 3000이상 대상자에게 10% 임금인상
UPDATE emp 
	SET SALARY = SALARY*1.1
    WHERE SALARY >= 3000;
    
COMMIT;

 

 

DELETE

 

 

--DELETE
DELETE FROM DEPT
WHERE DNO = '50';

//반드시 where 지정해야 한다.

 

 

ROLLBACK

 

 

롤백(ROLLBACK)을 시행하면, 보류중이었던 모든 DML 변경사항이 폐기되고 이전의 상태가 복원됩니다.

 

 

 

 

댓글