1. TABLE 생성
CREATE TABLE 테이블명
(
칼럼명1 타입(크기) NULL여부,
칼럼명2 타입(크기) NULL여부,
...
)
2. TABLE 데이터 INSERT, UPDATE, DELETE
1) INSERT
Ex) 직접 데이터를 INSERT하는 경우
> INSERT INTO 테이블명(칼럼1, 칼럼2, 칼럼3, ...)
VALUES(칼럼1의데이터, 칼럼2의데이터, 칼럼3의데이터);
Ex) 다른테이블의 데이터를 불러와 INSERT하는 경우
> INSERT INTO 테이블명(칼럼1, 칼럼2, 칼럼3, ...)
(SELECT 복사하려는테이블의칼럼1, 복사하려는테이블의칼럼2, 복사하려는테이블의칼럼3, ... FROM 복사하려는테이블명 WHERE 조건절);
2) UPDATE
> UPDATE 테이블명
SET 칼럼1 = '데이터값',
칼럼2 = '데이터값',
칼럼3 = '데이터값'
WHERE 조건절;
3) DELETE FROM 테이블명 WHERE 조건절;
3. TABLE명 변경
> RENAME 변경전테이블명 TO 변경후테이블명;
4. 테이블에 칼럼 추가, 수정, 삭제, 칼럼명 변경하기
1) 추가하기
> ALTER TABLE 테이블명 ADD (칼럼명 칼럼타입);
Ex) TEST 테이블에 VARCHAR2(9)타입의 COL1 칼럼을 추가한다.
> ALTER TABLE TEST ADD (COL1 VARCHAR2(9));
2) 수정하기
> ALTER TABLE 테이블명 MODIFY (수정할칼럼명 변경할타입);
Ex) TEST 테이블에있는 COL1타입의 속성을VARCHAR2(30)으로 변경
> ALTER TABLE TEST MODIFY (COL1 VARCHAR2(30));
3) 삭제하기
> ALTER TABLE 테이블명 DROP (칼럼명);
Ex) TEST 테이블에있는 COL1칼럼을 삭제
> ALTER TABLE TEST DROP (COL1);
4) 칼럼명 변경
> ALTER TABLE 테이블명 RENAME COLUMN 변경전칼럼명 TO 변경후칼럼명;
5. 칼럼 사용중지하기
칼럼삭제시 서버의 과부하를 막기위해 칼럼의 사용을 중지시킨후 삭제시켜 서버의 과부하를 조금이나마줄인다
> ALTER TABLE 테이블명 SET UNUSED(칼럼명);
Ex) TEST 테이블에있는 COL1 칼럼의 사용을 막는다
> ALTER TABLE TEST SET UNUSED(COL1);
Ex) TEST 테이블에 UNUSED 설정이 되어있는 칼럼을 모두삭제한다
> ALTER TABLE TEST DROP UNUSED COLUMNS;
6. 제약조건 추가하기
1) 제약조건을 추가할때에는 기존칼럼row가 추가할 제약조건 값을 만족하는지 검사해야함
2) 기본 제약조건만 할경우는 modify 제약위반메세지 추가시는 add를 사용
Ex) not null 을 추가할때는 기존칼럼 row에 null이있으면 not null제약추가가안됨
> ALTER TABLE emp2 modify employee_id Primary Key;
Ex) TEST 테이블에있는 employee_id칼럼에 Primary Key 제약조건을 추가한다.
> ALTER TABLE TEST ADD CONSTRAINT emp_mgr_fk FOREIGN KEY(manager_id) REFERENCES emp2(employee_id);
Ex) emp2테이블에 manager_id칼럼이 employee_id를 부모칼럼으로 참조하며 위배시 emp_mgr_fk 에러가나오게한다.
> COMMENT ON COLUMN TTS_CTRCT_CHG_MST.CTRCT_CHG_APV_YN IS '계약변경승인여부';
7. 테이블 삭제
1) 테이블 기본삭제
> DROP TABLE 테이블명 CASCADE CONSTRAINT;
2) 휴지통 비우기
> PURGE RECYCLEBIN;
3) 테이블 완전삭제(휴지통에 저장하지 않음)
> DROP TABLE 테이블명 CASCADE CONSTRAINT PURGE;
※ 2), 3)을 실행하면 테이블은 더이상 복구 할 수 없다.
8. 테이블 존재여부 확인
SELECT TABLE_NAME, DROPPED FROM USER_TABLES WHERE TABLE_NAME = '테이블명';
9. 테이블 데이터 변경이력 확인
1) 변경이력 확인
> SELECT VERSIONS_STARTSCN STSCN, VERSIONS_ENDSCN ENDSCN, VERSIONS_OPERATION OPT, 이력확인할 칼럼1, 이력확인할 칼럼2, ...
FROM 테이블명 VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE 조건절;
2) 변경이력의 VERSIONS_STARTSCN 혹은 VERSIONS_ENDSCN 값으로 데이터가 입력 되었을때의 시간 알아보기
> SELECT SCN_TO_TIMESTAMP(VERSIONS_STARTSCN혹은VERSIONS_ENDSCN값) FROM DUAL;
Ex) SELECT SCN_TO_TIMESTAMP(69507260) FROM DUAL;
'개발 & 코딩 > Oracle' 카테고리의 다른 글
오라클 테이블 및 데이터 복구 (Oracle Table & Data Restoration) (0) | 2021.04.13 |
---|---|
오라클 USER Table 한번에 삭제 (0) | 2021.04.13 |
오라클(Oracle) 순차적으로 값이 증가하게 시퀀스(Sequence) 설정 (0) | 2021.04.11 |
오라클 특정문자 위치 구하기 (0) | 2021.04.11 |
오라클 DB 칼럼 설정 (Oracle DB Column Setup) (0) | 2021.04.11 |