본문 바로가기
콤퓨타/데이터베이스

데이터베이스 8주차 - 테이블 및 데이터 변경

by 다_녤 2023. 5. 1.
반응형

SQL(Structured Query Language) 문을 사용하는데 있어 크게 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 카테고리를 나누어 사용할 수 있는데 오늘은 데이터 정의어와 데이터 조작어에 대해 진행했다.

데이터 정의어

- 테이블 변경(ALTER TABLE)

생성된 테이블의 속성과 속성에 대한 제약사항을 변경 + 기본키 및 외래키를 변경

예) book table에 INT자료형을 가진 number 속성을 추가하는 경우

ALTER TABLE book ADD number INT;

예) book table의 number 속성에 NOT NULL 제약조건을 적용하는 경우

ALTER TABLE book MODIFY number INT NOT NULL;

- 테이블 삭제(DROP TABLE)

DROP TABLE은 테이블을 삭제

구조 + 데이터를 모두 삭제 -> 데이터만 삭제 원하면 DELETE문을 사용

예) book table 삭제

 DROP book;

만약, 삭제가 거절되는 경우 다른 table에서 특정 속성에 대해 외래키 참조를 진행하고 있을 확률이 높다.

외래키 참조를 진행하는 table을 먼저 삭제한 후에 삭제할 필요가 있다.

데이터 조작어

- 데이터 삽입(INSERT)

INTO 키워드와 같이 사용하여 투플을 삽입할 테이블의 이름, 속성의 이름 나열

-> 생략 시 속성값이 최초 table생성 시 사용된 속성의 순서 활용

VALUES 키워드와 삽입할 속성값 나열

=> INTO절과 VALUES절은 일대일 대응

속성을 따로 선택하지 않으면 NULL로 값 입력됨

예) book table에 name 속성에는 어린왕자 author 속성에는 생떽쥐베리로 투플 삽입

INSERT INTO book(name, author)
       VALUES ('어린왕자', '생떽쥐베리');

- 데이터 수정(UPDATE)

테이블에 저장되어 있는 투플에서 특정 속성값 변경목적으로 사용

UPDATE 테이블명
SET 속성이름 = 값[, 속성이름 = 값, 속성이름 = 값, ~~~]
[WHERE <검색조건>];

-> WHERE절 생략 시, 모든 투플의 속성에 변경사항 적용

예) book table에 booknum이 3인 책의 author를 '베르나르'로 변경

 UPDATE book
 SET author = '베르나르'
 WHERE booknum = 3;

- 데이터 삭제(DELETE)

테이블에 저장된 특정 투플을 제거하는데 사용

DELETE FROM 테이블이름
[WHERE <검색조건>];

WHERE절 생략시 모든 투플 삭제

예) book 테이블에서 booknum이 5인 투플 삭제

DELETE FROM book
WHERE booknum = 5;
반응형