11.1 명령어의 종류
명령어 | 설 명 |
CREATE TABLE | 새로운 테이블을 생성 |
DROP TABLE | 기존 테이블의 구조 및 모든 행을 삭제 |
ALTER TABLE | 기존 테이블을 변경 - 컬럼의 추가, 수정 - 제약조건 추가, 삭제, 활성화, 비활성화 |
TRUNCATE | 기존 테이블의 구조는 남기고 모든 행을 삭제 |
RENAME | Object의 이름을 바꿈 |
COMMENT | 테이블이나 컬럼에 주석문 달기 |
명령어들은 모두 데이터 정의 명령어(DDL)로 실행시 자동 COMMIT 후에 ROLLBACK될 수 없으므로 주의해서 실행해야 한다
테이블 삭제 ( DROP TABLE )
DROP TABLE 테이블명 [CASCADE CONSTRAINTS] ;
- 모든 데이터가 테이블에서 삭제
- 트랜잭션은 자동 COMMIT
- 해당 테이블의 모든 인덱스가 삭제
- CASCADE CONSTRAINTS옵션은 종속된 제약조건을 삭제
- 이 명령은 ROLLBACK 할 수 없다
컬럼의 추가
ALTER TABLE 테이블명
ADD (컬럼 datatype [DEFAULT 형식][CONSTRAINT 정의]
[, 컬럼 datatype] ...);
컬럼의 수정
ALTER TABLE 테이블명
MODIFY (컬럼 datatype [DEFAULT 형식][NOT NULL 제약조건]
[, 컬럼 datatype] ...);
- 기존에 존재하는 컬럼에 대한 크기와 타입의 변경
- 컬럼의 크기, 기본값(default), NOT NULL 제약조건을 변경가능
- 컬럼이 NULL이거나 테이블에 데이터가 없을 때, 컬럼의 크기 축소 또는 데이터 타입의 변경이 가능
- DEFAULT를 변경하면 다음 입력 때부터 적용
- 컬럼에 NULL이 없을 때만 NOT NULL제약조건 추가기능
CONSTRAINT의 변경
제약조건의 추가
ALTER TABLE 테이블명
ADD [CONSTRAINT 제약 조건명] 제약조건유형 (컬럼명);
제약조건의 삭제
ALTER TABLE 테이블명
DROP CONSTRAINT 제약 조건명 [CASCADE];
제약조건의 활성화
ALTER TABLE 테이블명
ENABLE CONSTRAINT 제약 조건명;
제약조건의 비활성화
ALTER TABLE 테이블명
DISABLE CONSTRAINT 제약 조건명 [CASCADE];
그 외의 DDL
RENAME 이전이름 TO 새로운이름;
RENAME : OBJECT의 이름 변경
- 테이블, VIEW, SEQUENCE, SYNONYM의 이름을 바꾼다
- 객체의 소유자만이 바꿀 수 있음
TRUNCATE TABLE 테이블명;
TRUNCATE : 테이블의 구조를 남기고 모든 데이터 삭제하기
- 테이블의 모든 행을 삭제
- 테이블이 사용한 저장공간을 반환
- TRUNCATE 명령이 행의 삭제를 ROLLBACK 할 수 없는데 비해, DELETE 명령은 삭제된 행을 ROLLBACK 할 수 있다
COMMENT ON TABLE 테이블명 IS '주석문장';
COMMENT ON COLUMN 테이블명.컬럼명 IS '주석문장';
'SQL > 기초' 카테고리의 다른 글
SQL 정리 10일차 DICTIONARY (0) | 2023.08.30 |
---|---|
SQL 정리 9일차 TRANSACTION CONTROL (0) | 2023.08.29 |
SQL 정리 8일차 CONSTRAINT (0) | 2023.08.27 |
SQL 정리 7일차 SubQUERY (0) | 2023.08.25 |
SQL 정리 6일차 JOIN (0) | 2023.08.16 |