1. CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- 테이블 생성
CREATE TABLE MY_TABLE(
       NAME VARCHAR2(10)
     , AGE NUMBER(10)
);
 
-- 생성된 테이블 조회
SELECT * FROM MY_TABLE;
 
-- 테이블에 컬럼 추가
ALTER TABLE MY_TABLE ADD ADDRESS VARCHAR2(10);
 
-- 테이블 컬럼명 수정
ALTER TABLE MY_TABLE RENAME COLUMN ADDRESS TO MY_ADDRESS;
 
-- 테이블 컬럼 삭제
ALTER TABLE MY_TABLE DROP(MY_ADDRESS);
 
-- 테이블 데이터 삽입
INSERT INTO MY_TABLE(NAME,AGE) VALUES('이상현',28);
cs



2. DELETE, TRUNCATE, DROP



1
2
3
4
5
6
7
8
-- DELETE는 이전에 할당되었던 영역은 삭제되어 빈 TABLE이나 CLUSTER에 그대로 남아 있게 된다.
DELETE FROM MY_TABLE;
 
-- TRUNCATE 는 TABLE이나 CLUSTER에서 모든 행을 삭제하는 빠르고 효율적인 방법
TRUNCATE TABLE MY_TABLE;
 
-- TABLE이나 CLUSTERED TABLE에 부여된 권한도 삭제된다.
DROP TABLE MY_TABLE;
cs


3. 데이터 딕셔너리, 데이터 딕셔너리 뷰


데이터 딕셔너리는 스키마,사용자,객체,권한,룰,데이터베이스 정보 등 정보관리하는 별도의 객체를 의미한다.


데이터 딕셔너리는 시스템 정보를 가지고 있기 때문에 보통 데이터딕셔너리 뷰를 통해 조회한다.


데이터 딕셔너리 뷰는 3종류로 나눌수 있다.


ALL : 모든 접근 가능

DBA : DB관리자만 접근 가능

USER : 사용자만 접근 가능


1. ALL 접근



1
2
3
4
5
6
7
8
9
10
11
12
-- ALL 접근
SELECT *
  FROM ALL_OBJECTS
;  
 
SELECT OWNER
     , OBJECT_NAME
     , OBJECT_TYPE
  FROM ALL_OBJECTS
 WHERE OBJECT_TYPE='TABLE'
   AND OWNER = 'SCOTT'
;
cs


출력 결과



2. USER 접근



1
2
3
4
5
6
7
8
9
-- USER 접근
SELECT *
  FROM USER_OBJECTS
;
 
SELECT OBJECT_NAME
     , OBJECT_TYPE
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE='TABLE'
cs


출력 결과



+ Recent posts