본문 바로가기
[ CS 전공 ]

[ DB ] 5. Table 생성, 수정, 삭제

by 불주먹고양이 2022. 4. 27.

1. 테이블 생성

(1) create table construct

- r : relation (table) 이름

- A : attribute 이름

- D : domain type과 길이

 

ex.

 

(2) integrity constraints in create table

- 제약 조건 : primary key, foreign key, not null

 

- primary key : primary key (attribute)

- foreign key : foreign key (attribute) references s

- not null : null 값을 허용하지 않음

 

ex.

ex.

 

 

 

2. 테이블 수정

(1) column 추가

ALTER TABLE table_name ADD COLUMN ex_column varchar(32) NOT NULL;

 

ALTER TABLE ~ ADD COLUMN ...

 

 

(2) column 변경

ALTER TABLE table_name MODIFY COLUMN ex_column varchar(16) NULL;

 

ALTER TABLE ~ MODIFY COLUMN ...

 

 

(3) column 삭제

ALTER TABLE table_name DROP COLUMN ex_column;

 

ALTER TABLE ~ DROP COLUMN ...

 

 

(4) table 이름 변경

ALTER TABLE table_name1 RENAME table_name2;

 

ALTER TABLE ~ RENAME ...

 

 

 

3. 테이블 삭제

(1) Drop table construct

DROP TABLE table_name;

 

 

(2) Delete table construct

DELETE TABLE table_name

DELETE TABLE table_name WHERE column_name = column_value

 

 

(3) Truncate table construct

TRUNCATE table_name

 

 

(4) DROP vs. DELETE vs. TRUNCATE

- DROP

1) 데이터와 테이블 모두 삭제된다.

2) 공간, 객체 모두 삭제된다.

3) 삭제 후 되돌릴 수 없다.

4) DROP 명령어 자체는 DDL이다.

 

- DELETE

1) 데이터만 삭제되고 용량이 줄어들지 않는다.

2) 삭제한 내용을 되돌릴 수 있다.

3) 전체 데이터나 일부 데이터 삭제가 가능하다.

4) TRUNCATE보다 속도가 느리다.

5) DELETE 명령어 자체는 DML이다.

 

- TRUNCATE

1) 용량이 줄어들지만, 테이블이 삭제되는 것은 아니다.

2) 삭제 후 되돌릴 수 없다.

3) 전체 삭제만 가능하다.