1. 임시로 사용할 테이블 생성하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | -- 테이블 생성 CREATE TABLE MY_DUAL AS( SELECT 1 ID, 2000 SALARY FROM DUAL UNION ALL SELECT 2 ID, 2200 SALARY FROM DUAL UNION ALL SELECT 3 ID, 2400 SALARY FROM DUAL UNION ALL SELECT 4 ID, 2600 SALARY FROM DUAL UNION ALL SELECT 5 ID, 2800 SALARY FROM DUAL UNION ALL SELECT 6 ID, 2600 SALARY FROM DUAL UNION ALL SELECT 7 ID, 3000 SALARY FROM DUAL UNION ALL SELECT 8 ID, 2600 SALARY FROM DUAL ); -- 기존 테이블 컬럼만 복사해 새 테이블 생성 CREATE TABLE COPY_NEW_TABLE AS( SELECT * FROM EXIST_TABLE_NAME WHERE 1=2 -- FALSE ); | cs |
2. 컬럼 ADD, MODIFY, RENAME, DROP 사용하기 - 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | -- 1. 컬럼 ADD -- ALTER TABLE 테이블명 ADD 새 컬럼명 이름 데이터타입; ALTER TABLE MY_DUAL ADD ANNUAL_INCOME VARCHAR2(1000); UPDATE MY_DUAL SET ANNUAL_INCOME = SALARY; -- 2. 컬럼 MODIFY -- ALTER TABLE 테이블 명 MODIFY 컬럼명 데이터타입; ALTER TABLE MY_DUAL MODIFY SALARY VARCHAR2(1000); -- 3. 컬럼 RENAME -- ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 바꿀컬럼명; ALTER TABLE MY_DUAL RENAME COLUMN ANNUAL_INCOME TO SALARY; -- 4. 컬럼 DROP -- ALTER TABLE 테이블명 DROP COLUMN 삭제할 컬럼명; ALTER TABLE MY_DUAL DROP COLUMN SALARY; | cs |
3. 컬럼에 데이터가 있을때 데이터 유형 바꾸는 방법 - 2
1 2 3 4 5 6 7 8 9 10 11 12 13 | -- 컬럼에 데이터가 있을때 데이터 유형 바꾸는 방법 -- 1. 새 이름으로 새 컬럼을 하나 생성 (ADD) ALTER TABLE MY_DUAL ADD ANNUAL_INCOME VARCHAR2(1000); -- 2. 새 컬럼에 기존 데이터를 다시 입력 (SET) UPDATE MY_DUAL SET ANNUAL_INCOME = SALARY; -- 3. 기존 컬럼 삭제 (DROP) ALTER TABLE MY_DUAL DROP COLUMN SALARY; -- 4. 새 컬럼의 이름을 기존 컬럼 이름으로 바꿈 (RENAME) ALTER TABLE MY_DUAL RENAME COLUMN ANNUAL_INCOME TO SALARY; | cs |
현재 SALARY 컬럼의 데이터 유형은 NUMBER
SALARY 컬럼은 데이터를 갖고 있다.
데이터를 가지고있는 컬럼에 대한 데이터유형 변경은 허용하지 않는다.
그러므로 새 이름의 필요한 데이터유형의 새로운 컬럼을 하나 생성한 뒤
기존 컬럼이 가지고 있는 데이터를 새로운 데이터유형의 컬럼에 넣어주고(이동)
기존 컬럼을 삭제(DROP) 하고 새 이름의 새컬럼 이름을 기존 컬럼의 이름으로 바꿔주면 된다.
'전체 > Oracle' 카테고리의 다른 글
오라클 프로시저 만들기, 오라클 잡 등록하기 (0) | 2019.01.24 |
---|---|
UNION, UNION ALL 차이점 (1) | 2017.11.23 |
ORACLE 컬럼 중복값 제거(필터) 방법 정리 (0) | 2017.11.22 |
ORACLE WITH AS 사용방법 (0) | 2017.07.25 |
ORACLE 데이터 컬럼 여러개로 나누기, 데이터 컬럼 줄내림(줄바꿈), 정규표현식 사용하기 (0) | 2017.07.24 |