기록공간

OracleSQL - CREATE, ALTER, DROP 그리고 GRANT, ALTER 본문

DataBase/Oracle

OracleSQL - CREATE, ALTER, DROP 그리고 GRANT, ALTER

입코딩 2020. 10. 3. 16:54
반응형

CREATE

CREATE 는 SQL에서 무언가를 만들때 쓰이는 쿼리문이다. 여기서 무언가는 테이블 스페이스, 테이블, 뷰, 등 종류가 아주 다양하다. 보통 다음과 같은 형식으로 사용한다.

 

 CREATE [생성할 형식] [생성할 것의 이름]
[추가로 생성시 필요한 쿼리문(형식에 따라 차이가 있음)]

 

CREATE 쿼리문을 사용한 예를 들면 다음과 같다. 

 

1. 유저 생성

CREATE USER SCOTT
INDENTIFIED BY tiger;

--==>> User SCOTT이(가) 생성되었습니다.


2. 테이블 스페이스 생성

CREATE TABLESPACE TBS_EDUA
DATAFILE 'C:\TESTDATA\TBS_EDUA01.DBF'
SIZE 4M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;

--==>> TABLESPACE TBS_EDUA이(가) 생성되었습니다.


3. 테이블 생성

CREATE TABLE TBL_URAUSERTEST
( NO         NUMBER(10
, NAME     VARCHAR2(30)
);

--==>> Table TBL_ORAUSERTEST이(가) 생성되었습니다.

 

ALTER

ALTER는 SQL에서 만들어진 무언가를 수정(변경)할 때 사용된다. 보통 데이터 값의 수정이 아닌 그 자체의 구조적인 것을 수정해야 할 때 사용한다. 보통 다음과 같은 방식으로 사용된다.

 

CREATE [수정할 형식] [수정할 것의 이름]
[추가로 수정시 필요한 쿼리문(형식에 따라 차이가 있음)]

 

ALTER 쿼리문을 사용한 예를 들면 다음과 같다. 

 

1. KSB 계정에 테이블스페이스(TBS_EDUA)에서 사용할 수 있는 공간의 크기를 무제한으로 변경 

ALTER USER KSB
QUOTA UNLIMITED ON TBS_EDUA;

--==>> User KSB이(가) 변경되었습니다.

 

DROP

DROP은 SQL에서 만들어진 무언가를 제거할 때 사용된다. 보통 데이터를 삭제하는 것이 아닌 그 데이터를 담는 구조(또는 컨테이너)나 형식을 제거할 때 사용한다. 보통 다음과 같은 방식으로 사용된다.

 

CREATE [삭제할 형식] [삭제할 것의 이름]

 

DROP 쿼리문을 사용한 예를 들면 다음과 같다.

 

1. 테이블 TBL_EMP를 DBMS에서 삭제

DROP TABLE TBL_EMP;

--==>> Table TBL_EMP이(가) 삭제되었습니다.


2. ALTER와 함께 사용하여 테이블 TBL_EMP에 SSN이라는 속성을 삭제

ALTER TABLE TBL_EMP
DROP COLUMN SSN;

--==>> Table TBL_EMP이(가) 변경되었습니다.

 

GRANT

GRANT는 권한을 부여할 수 있도록 해주는 쿼리문이다. 사용자 계정에서 테이블과 같은 것을 만들때 보통 권한이 없어서 만들 수 없기 때문에 SYS계정으로부터 GRANT를 이용해 이러한 권한을 부여받아야 한다. 보통 다음과 같은 방식으로 사용된다.

 

GRANT [권한이 필요한 어떠한 기능] [기능에 영향을 주는 형식] TO [사용자 계정명]

 

GRANT 쿼리문을 사용한 예를 들면 다음과 같다.

 

1. SCOTT 계정에 테이블스테이스를 CONNECT, RESOURCE, UNLIMITED 하는 권한을 부여 (SYS로 부터)

GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO SCOTT;

--==>> Grant을(를) 성공했습니다.


2. KSB 계정에 테이블을 만들 수 있는 권한을 부여

GRANT CREATE TABLE TO KSB;

--==>> Grant을(를) 성공했습니다.


3. KSB 계정에 세션을 만들 수 있는 권한을 부여

GRANT CREATE SESSION TO KSB;

--==>> Grant을(를) 성공했습니다.

 

REVOKE

REVOKE는 부여한 권한을 다시 회수하는 명령어이다. 보통 다음과 같은 방식으로 사용된다.

 

REVOKE [권한을 회수할 기능] [회수할 권한의 기능에 영향을 주는 형식] FROM [사용자 계정명]

 

REVOKE 쿼리문을 사용한 예를 들면 다음과 같다.

 

1. SCOTT 계정에 부여한 테이블 생성 권한을 회수한다.

REVOKE CREATE TABLE FROM SCOTT

--==>> Revoke을(를) 성공했습니다.
반응형

'DataBase > Oracle' 카테고리의 다른 글

OracleSQL - ROW_NUMBER  (0) 2020.10.10
OracleSQL - 서브쿼리  (0) 2020.10.05
OracleSQL - 중첩 그룹함수 / 분석함수  (0) 2020.10.05
OracleSQL - SELECT  (0) 2020.10.04
OracleSQL - INSERT, UPDATE, DELETE 그리고 COMMIT, ROLLBACK  (0) 2020.10.04
Comments