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로 분류