5월 26일 수요일 (12일차) - UPDATE, DELETEㅇ

@_@·2021년 5월 26일
0

Database

목록 보기
24/28

<목차>
ㅇ UPDATE
ㅇ DELETE




ㅇ UPDATE

  • UPDATE는 열 단위 작업을 진행 (INSERT와 DELETE는 행단위 작업 진행)
    • INSERT : 행 삽입
    • DELETE : 행 삭제
    • UPDATE : 열 단위로 변경
UPDATE 테이블
SET 컬럼이름 = 변경 값
WHERE 수행할 특정 행 (선택사항)
  • 예) 206번 사원의 급여를 20000으로 수정
UPDATE employees
SET salary = 20000
WHERE employee_id=206;
1 row updated.
  • WHERE절을 생략하면 테이블의 모든 행이 수정돼
    • 위의 예제에 실행한다면 모든 사원의 급여가 20000으로 수정되는 거겠지? 얼른 롤백해!! ㅋㅋㅋ

ㅇ 서브쿼리로 갱신

  • 114번의 업무와 급여를 205번 사원과 같게 갱신
UPDATE employees
SET job_id = (SELECT job_id
		FROM employees
		WHERE employee_id=205), (<-이 컴마 까먹지 마!!)
    salary = (SELECT salary
		FROM employees
		WHERE employee_id=205)
WHERE employee_id = 114
SQL> /
1 row updated.

ㅇ 수업 때는 안 한 건데 신기해서 넣음ㅋㅋ


ㅇ 행 갱신 : 무결성 제약 조건 오류 (이것도 수업 때는 패스)

  • 부모 테이블에 없는 데이터로는 업데이트할 수 없어



ㅇ DELETE

  • DELETE : 행 삭제
DELETE FROM 테이블
WHERE 조건 (선택사항) 웨어절 생략되면 모든 행 삭제
  • WHERE절 없이 dept테이블 DELETE 하면 삭제될까? NO
DELETE from departments;
*
ERROR at line 1:
ORA-02292: integrity constraint (HR.EMP_DEPT_FK) violated - child record found
  • 다른 테이블에서 외래 키로 사용되는 기본 키를 포함하는 행은 삭제할 수 없습니다.

profile
STEP BY STEP

0개의 댓글