SQL

(SQL 문법) DDL (CREATE, DROP, ALTER)

choisanghyun 2022. 1. 5. 21:26
728x90

DDL

DDL은 자동으로 커밋되어서 롤백이 안되므로 주의해야한다. 가급적 DROP 대신 DELETE

CREATE

출처 : https://gent.tistory.com/322

테이블 만들기
CREATE TABLE emp 
( 
    empno       NUMBER(4)	PRIMARY KEY NOT NULL,
    ename       VARCHAR2(10),
    job         VARCHAR2(9),
    mgr         NUMBER(4),
    hiredate    DATE,
    sal         NUMBER(7,2),
    comm        NUMBER(7,2),
    deptno      NUMBER(2)
);

테이블 복제 (테이블 생성 후 데이터 까지 입력)

CREATE TABLE EMP_HISTORY 
AS 
(SELECT * FROM EMP WHERE DEPTNO = 10);

CREATE TABLE 테이블명
AS
(SELECT * FROM 복제하고싶은_테이블명 WHERE 조건);


서브쿼리의 where조건을 이용해서 원하는 값만 복제할 수 있음

 

DROP

테이블 삭제 3가지 방법
DELETE FROM 테이블명;   -- 테이블 남아있다 , 데이터만 삭제, 백업로그가 있다
truncate table 테이블명; -- 테이블 남아있다 , 데이터만 삭제
DROP TABLE 테이블명;    -- 테이블(데이터 포함) 삭제 --자동커밋 롤백불가

ALTER

컬럼이름변경
ALTER TABLE EMP_HISTORY2 RENAME COLUMN JOB TO JOB222;
desc EMP_HISTORY2;

컬럼 크기, 타입 수정   ename varchar2(10) --> varchar2(5)
ALTER TABLE EMP_HISTORY MODIFY ENAME VARCHAR2(5);
ALTER TABLE EMP_HISTORY MODIFY ENAME NUMBER(10);

컬럼 추가
ALTER TABLE EMP_HISTORY2 ADD FNAME VARCHAR2(10);
desc EMP_HISTORY2;

컬럼 삭제
ALTER TABLE EMP_HISTORY2  DROP COLUMN COMM;
desc EMP_HISTORY2;

테이블 이름 변경
ALTER TABLE EMP_HISTORY2 RENAME TO EMP_HISTORY22222;