본문 바로가기
CS/DB

테이블 생성 / 삭제 / 변경

by 넬준 2021. 12. 4.

테이블 생성 (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 비교

 

DELETE / TRUNCATE / DROP 비교

DELETE DML WHERE 구를 사용하여 원하는 행을 선택하여 삭제할 수 있고, 사용하지 않으면 테이블 모든 행을 삭제할 수 있다. 내부적으로 한줄씩 제거하는 과정을 거친다. 따라서 쿼리문 처리속도가

nelljundev.tistory.com

 

 

테이블 변경 (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

댓글