DATABASE
[DB] Oracle DDL
하연01
2021. 11. 9. 19:59
< DDL > - CREATE TABLE : 테이블 생성 - ALTER TABLE : 테이블 스키마 등 관련 변경 - DROP TABLE : 테이블 삭제 - RENAEM : 이름 변경 - TRUNCATE : 테이블의 모든 데이터 삭제 (자체 삭제 아님) - COMMENT : 테이블에 설명 추가 |
< CREATE TABLE >
bookno, title, author, pubdate 컬럼을 가진 book 이라는 테이블을 만든다.
CREATE TABLE (
bookno NUMBER(5),
title VARCHAR(50),
author VARCHAR2(10),
pubdate DATE
);
※ 데이터는 들어있지 않다. 틀만 만들어진다.
< 서브쿼리를 이용한 테이블 생성 >
emp 테이블에서 직무가 영업인 직원테이블을 따로 만들려고 한다.
CREATE TABLE empSALES
AS
SELECT * FROM emp
WHERE job = 'SALES';
※ 기존에 있던 테이블을 참조하여 새로운 테이블을 만들기 때문에 해당 데이터도 같이 들어간다.
만약 데이터는 적재하기 싫다면 where 1=0; 조건을 추가하면 스키마만 카피하여 만들게 된다.
< ALTER TABLE (변경) >
컬럼추가
book 테이블에 pubs라는 컬럼을 추가한다.
ALTER TABLE book ADD (pubs VARCHAR2(50));
컬럼수정
book 테이블에 title 컬럼의 데이터타입을 변경한다.
ALTER TABLE book MODIFY (title VARCHAR2(100));
컬럼삭제
book 테이블의 author 컬럼을 삭제한다.
ALTER TABLE boko DROP author;
* UNUSED COLUMN
: select * 해도 결과에 unused 처리된 컬럼은 나오지 않는다.
book 테이블의 author 컬럼을 unused 처리 한다.
ALTER TABLE book SET UNUSED (author);
unused 처리된 모든 컬럼을 삭제한다.
ALTER TABLE book DROP UNUSED COLUMNS;
< DROP TABLE >
book 테이블을 전체 삭제한다.
DROP TABLE book;
book 테이블의 모든 데이터를 삭제한다.
TRUNCATE TABLE book;
< COMMENT >
book 테이블에 설명을 추가한다.
COMMENT ON TABLE book IS 'this is a comment';
emp의 코멘트를 삭제한다.
COMMENT ON TABLE emp IS '';
< RENAME >
book 테이블 이름을 article로 변경한다.
RENAME book To article;
book 테이블의 bookno 컬럼 이름을 bookid로 변경한다.
ALTER TABLE book RENAEM COLUMN bookno TO bookid;
※ 컬럼이름을 변경하고싶다면, ATLER TABLE 꼭 같이 써주어야 한다. (컬럼을 혼자 존재할 수 없기 때문에)