728x90
[ 데이터베이스 ] ALTER TABLE, TRUNCATE, DROP, DELETE 차이
ALTER TABLE
- ADD COLUMN : 추가된 칼럼은 위치를 지정할 수 없고, 테이블의 마지막 칼럼이 된다.
ALTER TABLE 테이블명 ADD (추가할 칼럼명); ALTER TABLE PLAYER (ADD ADDRESS VARCHAR2(80)); |
- DROP COLUMN : 한 번에 하나의 칼럼 삭제 가능, 칼럼 삭제 후 최소 하나의 칼럼 존재해야 함, 복구 불가
ALTER TABLE 테이블명 DROP COLUMN 삭제할 칼럼명; ALTER TABLE PLAYER DROP COLUMN ADDRESS; |
- MODIFY COLUMN : 칼럼의 데이터 유형, 디폴트값, NOT NULL 제약조건 값 변경가능
[ORALE] ALTER TABLE 테이블명 MODIFY (칼럼명1 데이터 유형 [DEFAULT 식] [NOT NULL], 칼럼명2 데이터 유형 ...); ALTER TABLE TEAM_TEMP MODIFY (ORIG_YYYY VARCHAR2(8) DEFAULT '20020129' NOT NULL); |
[SQL SERVER] ALTER TABLE 테이블명 ALTER (칼럼명1 데이터 유형 [DEFAULT 식] [NOT NULL], 칼럼명2 데이터 유형 ...); |
- RENAME COLUMN : 칼럼명이 변경시, 칼럼 제약 조건 자동 변경, ORACLE 같이 일부 DBMS만 지원되는 기능
ALTER TABLE 테이블명 RENAME COLUMN 변경해야 할 칼럼명 TO 새로운 칼럼명; ALTER TABLE PLAYER RENAME COLUMN PLAYER_ID TO TEMP_ID; |
- DROP CONSTRAINT : 테이블 생성시 부여했던 제약조건 삭제 명령어
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명; ALTER TABLE PLAYER DROP CONSTRAINT PLAYER_FK; |
- ADD CONSTRAINT : 테이블 생성 이후에 필요에 의해서 제약조건 추가
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 (칼럼명); ALTER TABLE PLAYER ADD CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID); |
- RENAME TABLE : 테이블 이름 변경
RENAME 변경전_테이블명 TO 변경후_테이블명; RENAME TEAM TO TEAM_BACKCUP; |
- DROP TABLE : 테이블 삭제
DROP TABLE 테이블명 [CASCADE CONSTRANINT]; DROP TABLE TEAM; |
- TRUNCATE TABLE : 테이블 자체가 삭제되는 것이 아니고, 테이블 안의 행들이 모두 삭제되어 저장공간 재사용 가능.
테이블 구조를 삭제하기 위해서는 DROP TABLE 실행하기.
TRUNCATE TABLE 테이블명; TRUNCATE TABLE PLAYER; |
TRUNCATE, DROP, DELETE 차이
DROP TABLE : DDL, 테이블 자체가 사라짐
TRUNCATE : DDL, 테이블 구조는 남아있고 데이터 사라짐, log 없이 auto commit, ROLLBACK 불가능
DELETE : DML, TRUNCATE 와 유사함, log가 있고, 내부처리 방식이 TRUNCATE와 다름, ROLLBACK 가능
>> 테이블 전체 데이터 삭제하는 경우 시스템 부하가 적은 TRUNCATE TABLE을 권고한다.
728x90
'Back-End > SQL 개발자 자격증' 카테고리의 다른 글
[ 데이터베이스 ] WHERE, IN, LIKE, IS NULL, ROWNUM, TOP (0) | 2023.10.01 |
---|---|
[ 데이터베이스 ] DML (INSERT, DELETE, SELECT, ALIAS, DUAL) (0) | 2023.09.29 |
[ 데이터베이스 ] 제약조건, NULL, CTAS (0) | 2023.09.27 |
[ 데이터베이스 ] ERD, 데이터 유형, 테이블 생성규칙 (0) | 2023.09.26 |
[ 데이터베이스 ] DBMS, SQL, TABLE (0) | 2023.09.25 |