귀하는 로그인되어 있지 않습니다. 이대로 편집하면 귀하의 IP 주소가 편집 기록에 남게 됩니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!== 상세 == === 역사 === CRUD라는 용어는 1983년 James Martin의 저서 "Managing the Data-base Environment"에서 처음 사용되었다. 이후 데이터베이스 시스템과 [[RESTful API]] 설계의 기본 원칙으로 자리잡았다. 재미있게도, [[SQL]]에서는 CRUD를 각각 '''INSERT''', '''SELECT''', '''UPDATE''', '''DELETE'''라는 명령어로 구현한다. 앞글자를 따면 ISUD가 되는데, 발음하기 어려워서인지 CRUD가 표준 용어로 굳어졌다.<ref>사실 Create는 INSERT뿐만 아니라 CREATE TABLE 같은 명령도 포함할 수 있어서 더 포괄적인 의미를 갖는다.</ref> === 각 작업의 의미 === ==== Create (생성) ==== '''새로운 데이터를 만드는 작업'''이다. * [[데이터베이스]]에서는 새로운 레코드(행)를 추가한다. * [[SQL]]에서는 주로 '''INSERT''' 문을 사용한다. '''예시:''' * [[가온 위키]]에 새 문서를 작성하는 행위 * [[인스타그램]]에 사진을 업로드하는 행위 * 회원가입을 할 때 새로운 사용자 정보가 데이터베이스에 저장되는 과정 * [[유튜브]]에 동영상을 업로드하는 행위 <syntaxhighlight lang="sql"> INSERT INTO users (name, email, age) VALUES ('홍길동', 'hong@example.com', 25); </syntaxhighlight> ==== Read (읽기) ==== '''저장된 데이터를 조회하는 작업'''이다. * 가장 빈번하게 일어나는 작업이다.<ref>당신이 지금 이 문서를 보고 있는 것도 Read 작업이다!</ref> * [[SQL]]에서는 '''SELECT''' 문을 사용한다. * CRUD 중 유일하게 데이터를 변경하지 않는 작업이다. '''예시:''' * 이 [[가온 위키]] 문서를 읽고 있는 당신의 행위 * [[네이버]]에서 검색 결과를 보는 행위 * [[쿠팡]]에서 상품 목록을 스크롤하는 행위 * [[카카오톡]] 대화 내역을 확인하는 행위 <syntaxhighlight lang="sql"> SELECT * FROM users WHERE age >= 20; </syntaxhighlight> ==== Update (수정) ==== '''기존 데이터를 변경하는 작업'''이다. * [[SQL]]에서는 '''UPDATE''' 문을 사용한다. * 잘못 사용하면 '''WHERE 절 빼먹기''' 사고가 발생할 수 있다.~~그러면 모든 데이터가 똑같이 변한다~~ '''예시:''' * [[가온 위키]] 문서를 수정하는 행위 * [[인스타그램]] 프로필 사진을 바꾸는 행위 * 비밀번호를 변경하는 행위 * 장바구니에 담긴 상품의 수량을 변경하는 행위 <syntaxhighlight lang="sql"> UPDATE users SET age = 26 WHERE name = '홍길동'; </syntaxhighlight> '''주의사항:''' WHERE 절을 빼먹으면... <syntaxhighlight lang="sql"> UPDATE users SET age = 26; -- 모든 사용자의 나이가 26세가 된다. 끔찍하다. </syntaxhighlight> ==== Delete (삭제) ==== '''데이터를 제거하는 작업'''이다. * [[SQL]]에서는 '''DELETE''' 문을 사용한다. * ~~실수로 지우면 복구가 어려울 수 있어서 가장 무서운 작업이다~~<ref>그래서 실무에서는 실제로 삭제하지 않고 'deleted' 플래그만 true로 바꾸는 소프트 삭제(Soft Delete)를 많이 사용한다.</ref> '''예시:''' * [[페이스북]] 게시글을 삭제하는 행위 * [[트위터]]([[X]]) 트윗을 지우는 행위 * 회원 탈퇴를 하는 행위 * [[아마존]] 장바구니에서 상품을 제거하는 행위 <syntaxhighlight lang="sql"> DELETE FROM users WHERE name = '홍길동'; </syntaxhighlight> '''절대 하지 말아야 할 실수:''' <syntaxhighlight lang="sql"> DELETE FROM users; -- WHERE 절이 없으면 테이블의 모든 데이터가 삭제된다. -- 이 순간 당신의 커리어도 함께 삭제될 수 있다. </syntaxhighlight> 편집 요약 가온 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 가온 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림)