728x90
반응형
테이블 변경
CREATE문으로 테이블을 생성한 후 불가피하게 수정해야 할 상황이 발생할 때가 많다.
최초 설계를 잘못한 원인도 있고 요구사항이 변경되기 때문이다.
ALTER TABLE문을 사용해 테이블을 수정할 수 있다.
CREATE TABLE ex2_10 ( --예시 테이블
Col1 VARCHAR2(10) NOT NULL,
Col2 VARCHAR2(10) NULL,
Create_date DATE DEFAULT SYSDATE);
1) 컬럼명 변경 : RENAME -> Col1 컬럼 이름을 Col11로 변경
ALTER TABLE [스키마.]테이블명 RENAME COLUMN 변경전컬럼명 TO 변경후컬럼명;
ALTER TABLE ex2_10 RENAME COLUMN Col1 TO Col11;
2) 컬럼 타입 변경 : MODIFY -> Col2 컬럼을 VARCHAR2(10)에서 VARCHAR2(30)으로 변경
ALTER TABLE [스키마.]테이블명 MODIFY 컬럼명 데이터타입;
ALTER TABLE ex2_10 MODIFY Col2 VARCHAR2(30);
3) 컬럼 추가 : ADD -> Col3 NUMBER 타입으로 신규 생성
ALTER TABLE [스키마.]테이블명 ADD 컬럼명 데이터타입;
ALTER TABLE ex2_10 ADD Col3 NUMBER;
4) 컬럼 삭제 : DROP -> Col3 컬럼 삭제
ALTER TABLE [스키마.]테이블명 DROP COLUMN 컬럼명;
ALTER TABLE ex2_10 DROP COLUMN Col3 ;
5) 제약조건 추가 : ADD CONSTRAINTS -> Col11에 기본키 추가
ALTER TABLE [스키마.]테이블명 ADD CONSTRAINTS 제약조건명 PRIMARY KEY (컬럼명, ..)
ALTER TABLE ex2_10 ADD CONSTRAINTS pk_ex2_10 PRIMARY KEY (col11);
6) 제약조건 삭제 : DROP CONSTRAINTS -> Col11에서 기본키 삭제
ALTER TABLE [스키마.]테이블명 DROP CONSTRAINTS 제약조건명;
ALTER TABLE ex2_10 DROP CONSTRAINTS pk_ex2_10;
테이블 복사
CREATE TABLE …AS의 앞 글자를 따서 ‘CTAS(씨타스라고 읽음)’라고 부르기도 하는데 정식 명칭은 아니다.
이 구문을 사용하면 테이블 구조와 데이터가 모두 신규 테이블로 복사된다.
CREATE TABLE [스키마.]테이블명 AS
SELECT 컬럼1, 컬럼2, ...
FROM 복사할 테이블명;
CREATE TABLE ex2_9_1 AS
SELECT *
FROM ex2_9;
728x90
반응형
'Data > Oracle' 카테고리의 다른 글
[Oracle] Index(인덱스) (0) | 2020.11.23 |
---|---|
[Oracle] View(뷰) (0) | 2020.11.23 |
[Oracle] 데이터 무결성을 보장하기 위한 제약 조건 (Constraints) (0) | 2020.09.13 |
[Oracle] DataType / 오라클 데이터 타입의 종류 (0) | 2020.09.13 |
[Oracle] 데이터베이스 객체 (0) | 2020.09.13 |