-
2.7 SQL 데이터 정의어 ALTER TABLE(ADD, ALTER, DROP COLUMN)SQL 과정 2019. 2. 7. 15:08
1. ALTER TABLE
가. 기존 테이블 구조를 변경하는 DDL명령문
나. 테이블에 대한 구조 변경은 컬럼의 추가, 수정, 삭제시 사용
다. ADD COLUMN
1) 기존 테이블에 새로운 컬럼을 추가하는 명령
2) 새로운 컬럼은 테이블의 맨 마지막에 추가되며 원하는 위치에 추가가 불가능하다.
3) 이미 이전에 추가해 놓은 로우가 존재한다면 그 로우에도 컬럼이 추가되지만, 컬럼 값은 NULL값으로 입력된다.
* 기존의 emp01 테이블에 job VARCHAR2(9자리) 컬럼과 데이터형식을 지정하여 추가(ADD)하였다.
라. MODIFY COLUMN
1) 테이블에 이미 존재하는 컬럼을 변경하는 명령문
* (주의)데이터가 존재하는 데도 데이터 타입을 변경 가능한 경우는 CHAR <-> VARCHAR2 사이에
타입 변경만 가능하다.(CHAR ---> NUMBER 변경은 불가하다.)
* emp01테이블에 추가(ADD)한 job 컬럼의 VARCHAR2(9)데이터를 VARCHAR2(30)으로 변경(MODIFY)하였다.
마. DROP COLUMN
1) 테이블에 이미 존재하는 컬럼을 삭제
* emp01 테이블에 job 컬럼을 삭제(DROP COLUMN)하였다.
바. SET UNUSED
1) 해당 컬럼의 사용을 논리적으로 제한(삭제하지 않기 때문에 작업 시간이 오래 걸리지 않아 LOCK이 걸리는 일도 없게 된다.)
2) 삭제하는 동안 다른 사용자가 접근할수 있으므로 락이 발생하게 된다. 이를 해결하기 위해 SET UNUSED를 쓰는 것
* emp02 테이블에서 job컬럼의 사용을 중지(SET UNUSED)하였다.(출력시 표기 안됨)
* 사용 중지된(SET UNUSED) 정보를 삭제(DROP UNUSEDS)한다.
사. USER_UNUSED_COL_TABS 데이터 딕셔너리 뷰
1) UNUSED된 컬럼 정보가 있으면 해당 테이블에 UNUSED된 컬림 몇 개인지에 대한 정보만 표시된다.
* 위에 SET UNUSED된 컬럼의 테이블의 사용중지된 정보를 확인(USER_UNUSED_COL_TABS)
'SQL 과정' 카테고리의 다른 글
2.7 SQL 데이터 딕셔너리(USER_TABLE, ALL, DBA) (0) 2019.02.07 2.7 SQL 데이터 정의어(DROP, TRUNCATE, RENAME TABLE, 삭제명령어들의 차이점) (0) 2019.02.07 2.7 SQL 데이터 정의어(DDL, CREAT TABLE) (0) 2019.02.07 2.7 디 버그(거) 사용법, SQL (join, 서브 쿼리) (0) 2019.02.07 2.1 SQL 관계형 데이터베이스 (0) 2019.02.01