무언가를 수정할때 사용한다 뒤에 add drop alter를 한번 더 사용하여 다양한 작업이 가능하다.
# 테이블명 변경
alter table 테이블명 rename to 새로운테이블명;
# 컬럼명 변경(rename 생략가능, 참조되어 있을경우 자식테이블 자동 업데이트됨)
alter table 테이블명 rename column 기존컬럼명 TO 새컬럼명;
# 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
# 컬럼 강제 삭제(참조되어 있을경우, 참조된 값은 유지)
ALTER TABLE 테이블명 DROP COLUMN 컬럼명 CASCADE;
# 컬럼 추가
ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입 제약조건;
# 컬럼 타입 변경(SET DATA 생략가능)
ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 SET DATA TYPE 새로운데이터타입;
# 컬럼 타입 강제 변경(SET DATA 생략가능, 문자ㅡ>숫자, 숫자ㅡ>문자 등)
# USING은 데이터 값 형변환 + 컬럼 데이터 타입 변경 + CAST 형 연산자
ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 SET DATA TYPE 새로운데이터타입 USING 컬럼명::새로운데이터타입;
# 컬럼 제약조건 NOT NULL 추가(데이터 없을경우 못함)
alter table 테이블명 alter column 칼럼명 set not null;
# 컬럼 제약조건 NOT NULL 제거
alter table 테이블명 ALTER column 칼럼명 drop not null;
# 컬럼 제약조건 PRIMARY KEY 추가
ALTER TABLE 테이블명 ADD PRIMARY KEY (컬럼명);
# 컬럼 제약조건 PRIMARY KEY 제거(\d 테이블명 에서 제약조건명 확인)
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;
# 컬럼 제약조건 FOREIGN KEY 추가
ALTER TABLE 테이블명 ADD FOREIGN KEY (컬럼명1) REFERENCES 부모테이블(컬럼명2);
# 컬럼 제약조건 FOREGIN KEY 제거(\d 테이블명 에서 제약조건명 확인)
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;
'SQL' 카테고리의 다른 글
SQL 데이터타입 (1) | 2025.01.17 |
---|---|
SQL DELETE (0) | 2025.01.16 |
SQL AS (0) | 2025.01.16 |
SQL UPDATE (0) | 2025.01.16 |
SQL WHERE (0) | 2025.01.16 |