테이블 생성 (CREATE)
CREATE TABLE 테이블명 (
열 정의1,
열 정의2,
...
);
열 정의는
열명 자료형 [DEFAULT 기본값] [NULL | NOT NULL]
형태다.
예)
CREATE TABLE sample (
no INTEGER DEFAULT 0 NOT NULL,
name VARCHAR(30),
date DATE);
기본값은 DEFAULT + 해당 자료형 리터럴로 설정하거나 생략 가능하다.
NOT NULL로 지정한 경우만 NULL을 허용하지 않고, NULL을 명시하거나 생략 시 NULL을 허용한다.
테이블 삭제 (DROP)
DROP TABLE 테이블명;
여기서 DROP 명령은 테이블 안 데이터는 물론 테이블 정의까지 전부 다 삭제한다.
데이터 삭제
만일 테이블 정의는 그대로 두고 테이블 안 데이터만 삭제하고 싶다면 어떻게 할까?
앞에서 배운 DML 명령으로는 DELETE 명령이 있다.
WHERE 구로 조건식을 정해주지 않으면 테이블 속 모든 데이터 행을 삭제한다.
하지만 이는 내부적으로 한줄 한줄 일일이 제거하는 과정을 거치기 때문에 처리 속도가 늦다.
그래서 DDL 명령인 TRUNCATE 명령을 사용하면 테이블 정의는 두고 데이터만 전부 삭제할 수 있다.
조건식을 달 수도 없지만 빠른 속도로 삭제할 수 있다.
TRUNCATE TABLE 테이블명;
자세한 내용 참조
2021.12.04 - [CS/DB] - DELETE / TRUNCATE / DROP 비교
테이블 변경 (ALTER)
테이블 변경 내용은 크게 두가지다.
- 열 추가, 삭제, 변경
- 제약 추가, 삭제
열 추가 (ADD)
ALTER TABLE 테이블명 ADD 열 정의;
만일 NOT NULL 제약을 붙여 열을 추가하고 싶다면 기본값이 NULL이 안되도록 따로 설정해야 한다.
열 삭제 (DROP)
ALTER TABLE table명 DROP 열명;
열 속성 변경 (MODIFY)
ALTER TABLE 테이블명 MODIFY 열 정의;
열의 이름을 제외한 자료형, 기본값, NULL 제약 등의 속성을 변경할 수 있다.
열 변경 (CHANGE)
ALTER TABLE 테이블명 CHANGE [기존 열명][새로운 열 정의]
열 이름 뿐만아니라 열 속성까지 새로운 열 정의를 통해 변경할 수 있다.
'CS > DB' 카테고리의 다른 글
인덱스 (0) | 2021.12.06 |
---|---|
DELETE / TRUNCATE / DROP 비교 (0) | 2021.12.04 |
데이터베이스 계층 구조 (0) | 2021.12.04 |
IN / EXISTS / 상관 서브쿼리 (0) | 2021.12.04 |
서브쿼리 (0) | 2021.12.03 |
댓글