본문 바로가기
SQL/Oracle

SQL CRUD중 가장 주의해야 할 문장은?

by wakestand 2020. 1. 29.
반응형
 

SQL CRUD(Create, Read, Update, Delete) 중에 뭐가 제일 어려워요?

면접 시 면접관이 하는 질문중에 특정 DB의 CRUD 혹은 create, select, update, delete 중에 뭐가 가장 어렵나요? 이런 질문이 종종 나오는데 잠시 생각에 잠겨서 create는 작성 시에 각종 제약조건을 붙일 수 있..

wakestand.tistory.com

저번에 쓴 면접 시 CRUD(Create, Read, Update, Delete) 중

면접관이 뭐가 가장 어렵냐고 물어보면 Select가 가장 어렵다는 글에서 이어지는 내용인데

 

쿼리 작성시에는 각종 join이 들어가는 select가 가장 어렵지만

쿼리 수행 시에는 update와 delete를 가장 주의해야 하는데

작성은 직관적이지만 where을 잘못 설정했을 경우

테이블의 모든 Row가 update, delete 될 수 있는데

 

update set 컬럼명 = 'change' from 테이블명

이런 식으로 update 했을 경우 테이블 내의 모든 Row가 업데이트 되는 경우가 생기는데

where을 넣었더라도 primary key가 아닌 컬럼을 가지고 조건을 걸었다면

원치 않는 Row가 수정되거나 삭제되는 경우가 생긴다

 

연습 시에는 몇줄 날아가도 다시 만들면 되지만

실전에서 사용 시 where문을 소홀히 하고 update, delete 했다가

만줄이 넘는 Row가 update, delete 되는 경우가 생기는데

 

이런 경우에 auto-commit까지 해 놨었다면 순간 눈앞이 막막해진다

따라서 update와 delete가 생성 시에는 쉽지만 where 조건을 잘못 걸으면

테이블이 몽땅 수정되거나 혹은 원하지 않는 행까지 수정, 삭제되기 때문에 주의해야 한다

반응형

댓글