Patrick's 데이터 세상
DDL_ALTER 구문 본문
ALTER 구문
기존에 만들어진 테이블, 인덱스, 유저에 새로운 속성(항목)을 추가하거나 기존 속성을 변경, 삭제할 때 사용하는 명령어입니다.
* ALTER 구문 형식
컬럼 추가
ALTER TABLE 테이블명 ADD(컬럼명 데이터타입(사이즈));
원하는 테이블에 컬럼을 추가합니다.
* 테이블이 비어있지 않다면 NOT NULL을 쓸수 없습니다.
ex) ALTER TABLE STUDENT ADD(AGE NUMBER(4));
컬럼명 수정
ALTER TABLE 테이블명 RENAME COLUMN 컬럼명 TO 변경할 컬럼명;
특정 테이블의 해당 컬럼명을 수정합니다.
ex) ALTER TABLE STUDENT RENAME COLUMN GEND TO GENDER;
컬럼 타입 수정
ALTER TABLE 테이블명 MODIFY(컬럼명 데이터타입(사이즈));
특정 테이블의 해당 컬럼의 데이터타입을 수정합니다.
* 해당 속성의 모든 튜플이 비어져 있어야 변경 가능합니다.
ex) ALTER TABLE STUDENT MODIFY(AGE NUMBER(4));
컬럼 | KEY 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
ALTER TABLE 테이블명 DROP FOREIGN KEY 제약조건명;
* 주키(Primary Key)는 삭제 불가합니다.
하지만 외래키(Foreign Key)는 삭제 가능합니다.
ex) ALTER TABLE STUDENT DROP COLUMN AGE;
ALTER TABLE STUDENT DROP FOREIGN KEY ID;
INDEX명 수정
ALTER INDEX 변경전 이름 RENAME TO 변경할 이름;
인덱스명도 컬럼명과 마찬가지로 수정할 수 있습니다.
ex) ALTER INDEX STUDENT_T1 RENAME TO STUDENT_T2;
INDEX 재생성
ALTER INDEX 계정명.테이블명 인덱스명 REBUILD;
인덱스를 신속하게 다른 테이블스페이스로 옮깁니다.
인덱스를 DROP하지 않고 저장공간이나 테이블스페이스 PARAMETER를 변경할 수 있습니다.
제약조건 추가
ALTER TABLE 테이블명 ADD UNIQUE 컬럼명;
제약 조건명을 지정없이 UNIQUE 제약조건 추가하는 상황입니다.
ex) ALTER TABLE STUDENT ADD UNIQUE AGE;
ALTER TABLE 테이블명 ADD CONSTRAINT 제약 조건명 UNIQUE 컬럼명;
제약 조건명을 지정하여 UNIQUE 제약조건 추가하는 상황입니다.
ex) ALTER TABLE STUDENT ADD CONSTRAINT AGE_T1 UNIQUE AGE;
유저 잠금 설정
ALTER USER HR ACCOUNT LOCK;
이용자에 잠금 설정을 활성화합니다.
유저 잠금 해제
ALTER USER HR ACCOUNT UNLOCK;
이용자에 걸린 잠금 설정을 비활성화합니다.
유저 비밀번호 지정
ALTER USER STUDENT IDENTIFIED BY "새비밀번호" REPLACE "이전비밀번호" ;
유저의 비밀번호를 다른 비밀번호로 재설정합니다.
세션 종료
ALTER SYSTEM KILL SESSION 'sid, serial#';
세션의 SID값으로 세션을 종료합니다.
'Programming > Oracle' 카테고리의 다른 글
DROP된 테이블 살리기 (0) | 2020.06.21 |
---|---|
DROP 구문 생성하는 쿼리 (0) | 2020.06.21 |
DDL_DROP 구문 (0) | 2020.06.21 |
DDL_CREATE 구문 (0) | 2020.06.21 |
DDL - SQL 정의어 (0) | 2020.06.21 |