본문 바로가기

DataBase/Oracle

[Oracle] 테이블수정 - DDL / ALTER

 

DDL (데이터 정의 언어 : Data Definition Language)

  • 테이블이나 관계의 구조를 생성하는데 사용
  • CREATE : 데이터베이스, 테이블 등을 생성한다. 
  • DROP : 데이터베이스, 테이블 등을 삭제한다. 
  • ALTER : 데이터베이스, 테이블 등을 수정한다.
  • TRUNCATE : 테이블의 데이터를 전부 삭제하고 사용하고 있던 공간을 반납한다. 즉 테이블을 초기화한다. 

이미지출처 : 구글

 

 

테이블 수정 (ALTER)

 

1.  테이블에 컬럼 추가 (ADD)

ALTER TABLE 테이블명 ADD(컬럼명 데이터타입(사이즈))

 

- 예시

-- USER테이블에 나이, 성명 컬럼 추가
ALTER TABLE USER ADD(AGE INT(2))
ALTER TABLE USER ADD(NAME VARCHAR2(20))

 

 

 

2. 컬럼 타입, 크기 등의 설정 수정 (MODIFY)

-- 타입,크기 수정
ALTER TABLE 테이블명 MODIFY(컬럼명 데이터타입(사이즈))
-- DEFAULT 설정
ALTER TABLE 테이블명 MODIFY(컬럼명 DEFAULT 설정한DEFAULT값);
-- NULL, NOTNULL 설정
ALTER TABLE 테이블명 MODIFY(컬럼명 NULL or NOT NULL);

 

- 예시

-- USER 테이블의 AGE컬럼 데이터 타입을 INT -> VARCHAR2로 수정
ALTER TABLE USER MODIFT(AGE VARCHAR2(2))

-- USER 테이블의 NAME컬럼 DEFAULT 값을 '호랑이' 로 설정
ALTER TABLE USER MODIFY(NAME DEFAULT '호랑이');
-- USER 테이블의 AGE컬럼 DEFAULT 값을 20으로 설정
ALTER TABLE USER MODIFY(AGE DEFAULT 20);

-- USER 테이블의 NAME컬럼에 NULL값이 들어가지 않도록 설정(NOTNULL)
ALTER TABLE USER MODIFY(NAME NOT NULL)

 

 

3. 컬럼 이름 수정 (RENAME COLUMN)

ALTER TABLE 테이블명 RENAME COLUMN 현재 컬럼명 TO 변경할 컬럼명

 

-예시

-- USER테이블의 AGE 컬럼명을 USER_AGE 으로 변경
ALTER TABLE USER RENAME COLUMN AGE TO USER_AGE

 

 

4. 컬럼 삭제 (DROP COLUMN)

ALTER TABLE 테이블명 DROP COLUMN 컬럼명

 

- 예시

-- USER 테이블의 AGE 컬럼 삭제
ALTER TABLE USER DROP COLUMN AGE

 

 

 


 

https://wikidocs.net/4021

 

6) DELETE, TRUNCATE, DROP 명령어의 차이점

* DELETE, TRUNCATE, DROP 명령어는 모두 삭제하는 명령어이지만 중요한 차이점이 있다. ![](https://wikidocs.net/images/page/4021…

wikidocs.net