ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 순번 매기기 · UPDATE 함수
    MySQL 2023. 1. 16. 14:48

    이번 게시글에선 데이터의 순번을 매기는 방법과, UPDATE 함수를 알아보려 한다.

    1. 데이터 순번 매기기

    데이터에 순번을 매겨 관리하고 싶을 때, oracle 등 타 언어와는 다르게 변수를 선언, 이에 1을 더해 나타내는 방식으로 진행해야 한다.

    변수 선언은 ' set ' 으로 한다.

    set @seq:= 0;

    python에서 할당을 ' = '로 하듯, MySQL의 할당 방법은 ' := ' 이다. ( = 은 비교연산자로 취급된다.)

    따라서 다음과 같은 문장은 @seq 에 0을 할당한다고 해석하면 된다.

    이후에, @seq에 1씩 더하는 것을 select문 이후에 적어 노출시킨다.

     

    select ( @seq := @seq + 1 )

    그 이후에, 다음과 같이 넣고 싶은 데이터를 작성하면 이와 같이 나온다.

    set @seq :=0;
    select ( @seq := @seq + 1 ) as 'number', custid, name, phone
      from Customer;

    만약 이 중 2번 이하의 데이터만 보고 싶다면, 다음과 같이 응용할 수 있다.

    set @seq :=0;
    select ( @seq := @seq + 1 ) as 'number', custid, name, phone
      from Customer
      where @seq < 2;

    이때, @seq가 2를 포함하지 않지만 1번, 2번에 해당하는 데이터를 노출하는 이유는,

    우리가 '순번'열에 노출하는 것은 ' @seq '가 아닌 ' @seq+1 '이기 때문이다. 따라서, 0, 1 에 해당하는 1번, 2번이 노출된다.

    2. UPDATE 함수

    데이터를 수정하는 방법인 update 함수를 알아보자.

    우리가 입력한 고객 데이터 중, 특정 고객의 주소를 변경하고 싶다면 어떻게 할까?

    물론 데이터 자체를 삭제하고 다시 입력하는 방법도 있지만, 의도에 비해 과한 작업인 것이 사실이다.

    이런 경우, UPDATE 함수를 사용할 수 있다.

    UPDATE 함수는 그 짝으로 SET을 가져온다.

    만약 Park Seri 고객의 주소를 SouthKorea Seoul로 변경하고 싶다면, 다음과 같이 코드를 입력하면 된다.

    update 테이블 명
    set 컬럼명 = 변경할 데이터 내용
      where 변경할 데이터가 어떤 것인지 언급

    형식에 맞춰 코드를 작성해보면,

    update Customer
    set addr = 'SouthKorea Seoul'
      where name = 'Park Seri'

    이렇게 UPDATE 함수를 통해 데이터를 변경할 수 있다.

    이때, where 조건을 입력하지 않으면 Customer의 모든 addr 항목이 SouthKorea Seoul로 바뀌므로 주의해야 한다.

    이상으로 데이터 순번 매기는 방법과 update 함수에 대해 알아보았다.

    'MySQL' 카테고리의 다른 글

    서브쿼리와 VIEW  (0) 2023.01.16
    MySQL 내장 함수  (0) 2023.01.16
    ALTER문으로 테이블 컨트롤하기  (0) 2023.01.11
    CASE로 조건 설정하기  (0) 2023.01.11
    서브쿼리와 EXISTS  (0) 2023.01.10

    댓글

Designed by Tistory.