study/Oracle

9_oracle_명령어 정리

스파이크12 2020. 6. 9. 10:12

@계정 생성

CREATE(ALTER) USER 계정명 INDENTIFIED [BY 비밀번호]

GRANT CONNECT, RESOURCE TO 계정명

*CONNECT 접속권한

*RESOURCE 객체, 데이터 권한

*DBA 데이터베이스 관리자 권한

GRANT CREATE VIEW, CREATE SEQUENCE TO 계정명

뷰, 시퀀스 생성권한

GRANT//권한부여 REVOKE// 권한제거

 

@ 테이블생성

CREATE TABLE 테이블명(

    컬럼명 타입 제약조건,

    컬럼명 타입 제약조건

);

CREATE TABLE 테이블명(

    컬럼명 타입,

    컬럼명 타입, // REFERENCES 테이블명 (참조할 컬럼명) //외래키조건

    컬럼명 타입, // CHECK (컬럼명 IN ('데이터', '데이터'))

    UNIQUE (제약할컬럼명, 제약할 컬럼명)

    PRIMARY KEY (제약할 컬럼명),

    FOREIGN KEY (컬럼명) REFERENCES 참조할테이블명 (컬럼명) [ON DELETE SET NULL]

);

 

@ 컬럼주석

COMMENT ON COLUMN 테이블명.컬럼명 IS '주석내용'

 

@ 외래키 삭제 옵션

ON DELETE RESTRICTED

ON DELETE SET NULL (삭제시 NULL 처리)

ON DELETE CASCADE (삭제시 참조컬럼까지 삭제)

* 서브커리로 CREATE시 제약조건은 NOT NULL만 복사됨

 

@ CRUD

INSERT INTO 테이블명[(특정컬럼명)] VALUES (데이터값들)

UPDATE 테이블명 SET 컬럼명 = 데이터값 WHERE 조건

DELETE FROM 테이블명 WHERE 조건

*컬럼(데이터)삭제를 위해 제약조건 비활성화

ALTER TABLE 테이블명

DISABLE CONSTRAINT 컬럼명 CASCADE

*활성화

ENABLE

 

@ 컬럼추가

ALTER TABLE 테이블명 ADD (컬럼명 컬럼타입 [속성])

@ 컬럼수정

ALTER TABLE 테이블명 MODIFY 컬럼명 컬럼타입

@ 컬럼삭제

ALTER TABLE 테이블명 DROP COLUMN 컬럼명

* 제약조건 있는 컬럼삭제

ALTER TABLE 테이블명 DROP COLUMN 컬럼명 CASCADE CONSTRAINT

 

@ 제약조건추가

ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건(제약컬럼명)

*NOT NULL 인 경우

ALTER TABLE 테이블명 MODIFY 컬럼명 CONSTRAINT 제약조건명 NOT NULL

 

@ 제약조건삭제

ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명

*NOT NULL 인경우

ALTER TABLE 테이블명 MODIFY 테이블명 NULL

 

@ 컬럼이름변경

ALTER TABLE 테이블명 RENAME COLUMN 컬럼명 TO 바꿀컬럼명

 

@ 제약조건이름변경

ALTER TABLE 테이블명 RENAME CONSTRAINT 제약조건명 TO 바꿀제약조건명

 

@ 테이블이름변경

ALTER TABLE 테이블명 RENAME TO 바꿀테이블명 

RENAME 테이블명 TO 바꿀테이블명

 

@ 테이블삭제

DROP TABLE 테이블명 CASCADE CONSTRAINT

 

@ 뷰 생성

CREATE OR REPLACE VIEW 뷰이름[컬럼별칭..] AS (SELECT ~~~);

* 서브쿼리에 함수사용시 반드시 별칭 지정

* 뷰의 데이터를 손대면 베이스테이블 값도 변경됨

* 베이스 컬럼에 NOT NULL이 포함되어 있으면 VIEW 조작불가능, 

* 산술포함식도 마찬가지

 

@ SEQUENCE 시퀀스

CREATE SEQUENCE 시퀀스명 

[START WITH 숫자] //처음발생시킬 시작값

[INCREMENT BY 숫자] //다음 값에대한 증가치

 

*시퀀스명.CURRVAL // 현재번호

*시퀀스명.NEXTVAL // 다음번호 (주로사용)

 

* 수정시

ALTER SEQUENCE 시퀀스명