본문 바로가기

Database/이론

[DB] Alter

데이터 타입을 변경하거나

컬럼의 크기(용량)을 변경할 때는

alter라는 문을 사용합니다.

형식은 다음과 같습니다.

 

alter table [테이블명] modify [컬럼명] [데이터타입(용량)];

 

여기서 주의할 사항은 데이터 타입을 변경할 때는 

해당 컬럼의 값을 모두 지워야만

변경이 가능합니다.

또한 값이 있는 상태에서 기존과 다른 데이터 타입으로 변경하면 에러가 발생하고,

값이 있는 상태에서 용량을 적게 변경하면 에러가 발생합니다.

컬럼의 용량을 줄일 경우에는

해당 컬럼의 용량을 조회해서

변경할 용량보다 큰 값이 있는지 확인하고

그 값을 변경해야합니다.

 

컬럼명을 변경할 때도 alter를 사용합니다.

이때는 rename이라는 문도 함께 써줘야 합니다.

 

alter table [테이블명] rename column [기존 컬럼명] to [바꿀 컬럼명];

 

 

컬럼을 추가할 때는 add문을 사용합니다.

이때 제약조건은 생략 가능합니다.

 

alter table [테이블명] add [컬럼명] [데이터타입(용량)] [제약조건(생략가능)];

 

제약 조건은 기존의 데이터가 없을 때만 Not null이 가능합니다.

 

 

컬럼을 삭제할 때는 drop 문을 사용합니다.

 

alter table [테이블명] drop column [컬럼명];

 

테이블 내의 내용을 지우려면 truncate를 사용합니다.

특징은 테이블에 있는 데이터를 삭제하지만,

테이블의 구조 자체는 삭제하지 않습니다.

 

truncate table [테이블명];

 

테이블 삭제 시에는 drop을 사용합니다.

cascade constraint를 사용해서

외래키 제약 조건을 무시하고 삭제할 수 있습니다.

 

drop table [테이블명] cascade constraint;

 

drop해서 휴지통에 있는 테이블을 복원하려면

flashback을 사용합니다.

 

flashback table [테이블명] to before drop;

 

휴지통에있는 테이블을 비우려면

 

purge recyclebin;

 

을 사용하면 됩니다.

 

그리고 휴지통에 넣고 테이블을 비우기까지한 번에 할 수 있는 코드가 있습니다.

 

drop table [테이블명] cascade constraint purge;

 

drop하고 purge까지 한 번에 실행하는 코드입니다.

'Database > 이론' 카테고리의 다른 글

[DB] Read  (0) 2024.12.26
[DB] DML  (0) 2024.12.26
[DB] Primary Key  (0) 2024.12.26
[DB] 데이터베이스 용어  (0) 2024.12.23
[DB] Oracle  (0) 2024.12.23