SQLD/SQL

[DDL]ALTER,DROP,TRUNCATE,RENAME

김귤🐵 2023. 8. 29. 12:49

1.ALTER

  • 테이블 구조를 변경하기 위한 명령어
  • 속성의 추가,삭제,변경(데이터 타입,제약조건 및 속성의 이름)
종류
(Oracle/SQL Server)
설명
ADD 새로운 컬럼,제약조건의 추가
👉🏻컬럼의 추가
ALTER TABLE 테이블명 ADD [COLUMN] 컬럼명 테이터 타입
*오라클에서는 [COLUMN]을 생략한다.
👉🏻제약조건의 추가
ALTER TABLE 테이블명 ADD CONSTARINT 제약조건명 제약조건(컬럼명)
MODIFY / ALTER 컬럼의 데이터 유형, 제약조건(DEFAULT값, NOT NULL)에 대한 변경
ALTER TABLE 테이블명 MODIFY 컬럼명 데이터유형 [DEFAULT 값] [NOT NULL]    
ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 데이터유형 [DEFAULT 값] [NOT NULL]  
DROP 컬럼,제약조건의 제거
👉🏻컬럼의 제거
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
👉🏻제약조건의 제거
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;
RENAME 컬럼,제약조건의 이름 변경
오라클 등 일부 DBMS에서만 지원한다.
SQL Server에서는 sp_rename저장 프로시저를 이용하여 변경 가능하다.
👉🏻컬럼 이름의 변경
ALTER TABLE 테이블명 RENAME COLUMN 기존 컬럼명 TO 새로운 컬럼명
ALTER TABLE 테이블명 RENAME CONSTRAINT 기존 제약조건명 TO 변경할 제약조건명

 

2.RENAME

RENAME 변경 전 테이블명 TO 변경 후 테이블명;

 

  • 테이블 이름을 변경하는 명령어

3.DROP

DROP TABLE 테이블명[CASCADE CONSTRAINT]
  • 삭제하려는 테이블을 다른 테이블이 참조한다면 CASCADE옵션을 명시해야 삭제 가능
  • CASECADE CONSTRAINT는 참조 제약조건도 함께 삭제한다.

4.TRUNCATE

TRUNCATE TABLE 테이블명;
  • 테이블 구조는 유지하고 데이터만 전부 삭제한다.
  • DELETE구문을 WHERE절 없이 사용하는것과 같지만,TRUNCATE는 ROLLBACK이 불가능해 DDL로 분류