JAVA를 잡아라!...

SQL - 3. 테이블 생성 & 데이터 조작 (DDL & DLC) 본문

DBMS_SQL/Oracle

SQL - 3. 테이블 생성 & 데이터 조작 (DDL & DLC)

onivv 2023. 12. 22. 16:11

#1 테이블 생성 & 삭제

DOIT 테이블 생성 실행

 

테이블이 DB에 잘 생성됨을 확인할 수 있음
파란색 체크가 떠야 실행 성공!

 

 

#2 테이블에 데이터 삽입, 수정, 삭제

1) 데이터 삽입 - INSERT

INSERT 문으로 데이터 삽입
데이터 삽입 후 검색 결과

 

2) 데이터 수정 - UPDATE

WHERE 문의 조건을 누락하면 테이블의 전체 데이터를 수정함. 사과가 여러 행의 값이었으면 전체 데이터의 사과가 사과 주스로 변경됨
모든 데이터의 COL1값에 10이 더해졌음

 

 

3) 데이터 삭제 - DELETE

UPDATE 문과 마찬가지로 전체 데이터를 삭제할 수 있으므로 WHERE 문 누락 주의

 

COL1 값이 12인 행 삭제됨

 

#3 외래키로 연결된 데이터 입력 및 삭제

- 관계형 데이터 베이스는 데이터의 무결성을 유지해야 하므로,

     부모 테이블에 없는 데이터를 자식 테이블이 가지면 안되는 것이 원칙

- 이 원칙을 유지하면 데이터가 잘못 입력되거나 삭제되는 것을 방지할 수 있음

 

- 기본키(primary key, PK) : 비어있지 않고 고유한 값을 가지는 열

- 외래키(foreign key, FK) : 테이블이 관계를 구성할 때 참조하는 열

 

ex) 예시 상황

     테이블의 종속 관계가 있을 때

     부모 테이블에 COL1 열이 PK이고,

     자식 테이블에 COL1 열이 FK로 지정된 상황을 가정

ex1) 데이터 입력

     부모 테이블 COL1 열에 1이 없을때,

     자식 테이블 COL1 열에 1을 입력하려고 하면 오류가 남

     부모 테이블에 해당 데이터가 없는 상태라서 오류가 발생

     부모 테이블에 데이터를 먼저 입력하고 같은 데이터를 자식 테이블에 입력하면 정상적으로 데이터 입력 가능

ex2) 데이터 삭제

     부모 테이블의 COL1 열에 1을 삭제하려고 할 때 오류가 남

     자식 테이블의 COL1 열에 1을 먼저 삭제해야 부모 테이블의 데이터를 삭제 가능

ex3) 테이블 삭제

     FK가 설정된 테이블으르 삭제하려면 자식 테이블 > 부모 테이블 순서로 삭제해아 함

ex4) 제약조건 제거

     자식 테이블의 데이터는 유지하면서 부모 테이블을 삭제하고 싶을 때,

     제약 조건을 제거해 테이블 삭제 진행 가능

     조건을 삭제하는 명령어 DROP CONSTRAINT (제약 조건의 이름 명시)