SQL

SQL ALTER

봄다온 2025. 1. 16. 16:11

무언가를 수정할때 사용한다 뒤에 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 제약조건명;

이런식으로 Primary key,외래키의 참조와 참조되어짐의 제약조건명이 지정되어있다.

'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