살구월드

MYSQL UPDATE 쿼리

DB
2020. 6. 19. 10:53
잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기

 

 

데이터베이스 관련 포스팅 목록

 

 

 

 

UPDATE 쿼리

타이틀 입력부분안녕하세요 오늘은 이전 포스팅 했던 MYSQL SELECT 문에 이어서 기존 테이블에 이미 저장되어 있던 값들을 수정하는 방법이 대해 알아보겠습니다. selet는 무언가 "선택하다" 라는 의미를 가지고 있다면 update는 "기존의 내용을 새롭게 바꾸다" 라는 의미가 있습니다.

 

 

Update란 기존의 정보를 최신의 정보로 바꾸다 라는 의미이다.

 

 

아주 쉽게 기존에 알고있었던 select 쿼리문과 사용방법이 같았다면 정말 좋겠으나... update문은 쿼리의 구조가 다릅니다. 따라서 따로 공부를 해야합니다. 우선 개념부터 확인해보겠습니다.

 

어떤 학교에서 학생들의 반, 점수 등을 저장한 데이터베이스를 사용한다고 생각해봅시다. 이 테이블 구조는 이전 포스팅 했던 select 포스팅을 확인해주세요.

 

 

 

students 테이블 구조

 

 

 

처음 선생님이 학생들의 시험을 종료하고 각 학생들의 점수를 students 테이블에 입력하였습니다. 그런대 3일 뒤 "kim" 학생의 점수가 잘못입력된 것을 선생님이 확인합니다. 

 

 

실수

 

 

자 이미 데이터베이스에는 "kim" 학생의 점수가 저장되어있습니다. 하지만 select 질의는 데이터를 조회만 할 수 있기때문에 수정이 불가능합니다.

이런 경우를 위해 update문을 사용합니다. 자 그러면 이제 update문 사용 예제를 확인해보겠습니다.

 

 

 

 

 

 

 

시험환경

Linux Ubuntu 16.04 LTS x64

MYSQL

 

 

 

 

 

 

UPDATE 쿼리의 기본 구조

자 우선 update문의 쿼리구조는 아래와 같습니다. 특정 속성명의 값을 어떻게 바꿀 것인지 선택하면 됩니다.

UPDATE 테이블명 SET 바꿀속성명=바꿀값;

 

이제 우리가 사전에 생성한 students 테이블의 전체 학생들의 점수를 80점으로 수정해보겠습니다.

UPDATE students SET score=80;
SELECT * FROM students;

 

위와 같이 모든 학생들의 점수가 80점으로 수정된것을 알 수 있었습니다. 자 그렇다면 여기서 다른 문제가 발생합니다. 전체 학생들의 점수는 바꿀필요 없고 특정 학생의 점수만 바꿔야 할 경우. 이런 경우가 있다면 where문을 사용합니다. select와 동일합니다

 

 

UPDATE 조건 쿼리

만약 students 테이블의 "kim" 학생의 점수를 100점으로 수정하고 싶다면 조건문에 해당 학생의 아이디가 동일한지 추가하면 됩니다. 만약 해당 학생의 아이디를 모를 경우 select문을 사용하여 확인합니다.

 

 

 

 

where id=2 의 조건을 추가한 후 다시 점수를 100점으로 수정해보겠습니다.

UPDATE students SET score=100 where id=2;
SELECT * FROM students;

 

위처럼 "kim" 학생의 점수만 수정 된 것을 확인하였습니다. update문의 조건은 select와 동일하게 like와 수식등의 조건도 사용할 수 있습니다.

 

 

 

결론

오늘은 mysql update문에 대해서 알아보았습니다. 다음 포스팅에서는 간단한 delete문에 대해 알아보겠습니다.

잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기

공유하기

facebook twitter kakaoTalk kakaostory naver band