happy cat image

everdevel

hello world

EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기
에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

레코드 변경 삭제

레코드의 변경 명렁문은 다음과같다.

UPDATE 테이블명
SET 필드명 = 변경할 조건
WHERE 필드명 = 기존 속성값;

단일 레코드 변경

WHERE 절에 단일 필드만 검색하는 조건이 있는 경우 한 개의 레코드에 대해서만 변경이 발생하는 질의문이다.

이전에 사용했던 student 테이블을 사용해본다

UPDATE 명령문을 이용하여 mickey의 rank 값을 4만큼 더 높여보도록 하자.

그럼 student_db데이터베이스를 선택하고

다음과 같이 입력한다.

UPDATE student SET rank = rank + 4 WHERE name = 'mickey';

이렇게 하면 이름이 mickey인 레코드들 중 rank를 숫자 4를 더하게 된다.

그럼 결과는 아래와 같이 변경된다.

mysql image

mickey의 랭킹이 9에서 4가 더해져 11이 되었다.

이렇게 하나씩 변경하는 것을 단일 레코드 변경이라 한다.

그럼 이번엔 전체 레코드 변경

전체의 rank를 한꺼변에 변경해본다. +3을 적용하고 조건을 없애면 된다.

UPDATE student SET rank = rank +3;

을 입력하면 아래와 같이 모든 rank에 3이 플러스 되었다. 위와 같이 조건없이 update문을 실행할 때는 다시한번 더 생각하고 또 생각하며 실행하시기 바랍니다.
저게 단순 데이터가 아닌 실제 서비스 되고 있는 서비스의 회원정보 일 수 있습니다.

여러분이 나중에 취업하고 프로그래머가 되어 실제 서비스의 모든 고객의 이름을 mickey로 바꾼다던지 할 수 있습니다.
그러니 실제 서비스에서는 혹시 모르니 실행할 때 백업을 미리 해두시거나 서버관리자에게 db백업을 몇시간마다 하는지 등 체크하시기 바랍니다.
그리고 혹시라도 실수해서 일부 레코드만 변경해야 하는데 모든 레코드의 값을 변경했거나 한다면 숨기지 말고 즉각 보고 하시기 바랍니다.
실수는 그럴수 있다 라고 넘어가고 바로 수습하면 되지만 숨기고 시간이 지나버리면 데이터가 꼬여버려서 여러분의 팀원 또는 회사원 전체가 야근과 주말 출근을 해야할 수 있습니다.

mysql image

그럼 이번엔 레코드를 삭제해 보자.

DELETE FROM 테이블명 WHERE = 조건;

그럼 단일레코드 삭제부터

한개의 레코드만 삭제를 하는거다.

mike wazowski를 지워보자

DELETE FROM student WHERE name = 'mike wazowski';
mysql image

mike wazowski가 삭제되었다.

다시 한번 말하지만
여러분이 나중에 취업하고 프로그래머가 되어 실제 서비스의 특정 누군가를 삭제해야 하는 상황이 옵니다.
그러니 실제 서비스에서는 혹시 모르니 실행할 때 백업을 미리 해두시거나 서버관리자에게 db백업을 몇시간마다 하는지 등 체크하시기 바랍니다.
그리고 혹시라도 실수해서 특정 누군가의 레코드만 삭제해야 하는데 조건문을 쓰지않아 모든 레코드를 삭제했다면 즉각 보고 하시기 바랍니다.
실수는 그럴수 있다 라고 넘어가고 바로 수습하면 되지만 숨기고 시간이 지나버리면 데이터가 꼬여버려서 여러분의 팀원 또는 회사원 전체가 야근과 주말 출근을 해야할 수 있습니다.
최악의 경우 손해배상을 해야할 수 있습니다.

그럼 이번엔 rank가 8부터 14 사이인 사람들을 삭제해보자.

WHERE 에서 조건만 갖춰주면 된다. 간단하다!

DELETE FROM student WHERE rank >= 8 AND rank <= 14;
mysql image

조건에 만족하는 사람들이 다 삭제 되었다. 그럼 전체 레코드 삭제는 어떻게 할까;

가장 간단하다

DELETE FROM 테이블명;

아래와 같다.

DELETE FROM student;

진짜 마지막으로 다시 한번 말한다. 정말 마지막입니다.
여러분이 나중에 취업하고 프로그래머가 되어 실제 서비스의 특정 누군가를 삭제해야 하는 상황이 옵니다.
그러니 실제 서비스에서는 혹시 모르니 실행할 때 백업을 미리 해두시거나 서버관리자에게 db백업을 몇시간마다 하는지 등 체크하시기 바랍니다.
그리고 혹시라도 실수해서 특정 누군가의 레코드만 삭제해야 하는데 조건문을 쓰지않아 모든 레코드를 삭제했다면 즉각 보고 하시기 바랍니다.
실수는 그럴수 있다 라고 넘어가고 바로 수습하면 되지만 숨기고 시간이 지나버리면 데이터가 꼬여버려서 여러분의 팀원 또는 회사원 전체가 야근과 주말 출근을 해야할 수 있습니다.
최악의 경우 손해배상을 해야할 수 있습니다.

mysql image

모두 삭제되었다.

다음 강좌에서는 데이터베이스 백업 및 복원에 대해서 알아보자!!


    
    

강좌로 돌아가기

댓글 0개

정렬기준