Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

전체 열을 업데이트하지 않고 범위의 특정 레코드만 업데이트하는 단일 MySQL 쿼리

<시간/>

먼저 테이블을 생성하겠습니다 -

mysql> 테이블 생성 DemoTable( Name varchar(40), Position int);Query OK, 영향을 받는 행 0개(1.17초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> DemoTable 값에 삽입('Chris',90);쿼리 OK, 1행 영향(0.20초)mysql> DemoTable 값에 삽입('David',67);쿼리 OK, 1행 영향(0.18초) )mysql> DemoTable 값에 삽입('Bob',55);쿼리 OK, 1행 영향(0.15초)mysql> DemoTable 값에 삽입('Sam',40);쿼리 OK, 1행 영향(0.15초) 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+-------+----------+| 이름 | 위치 |+-------+----------+| 크리스 | 90 || 데이비드 | 67 || 밥 | 55 || 샘 | 40 |+-------+----------+4행 세트(0.00초)

다음은 전체 열을 업데이트하지 않고 범위의 특정 레코드만 업데이트하는 쿼리입니다 -

mysql> update DemoTable set Position=Position+10 where Position> 50 and Position <90;Query OK, 영향을 받는 2개 행(0.11초) 일치하는 행:2 변경됨:2 경고:0

다시 한번 테이블 기록을 확인해보자 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+-------+----------+| 이름 | 위치 |+-------+----------+| 크리스 | 90 || 데이비드 | 77 || 밥 | 65 || 샘 | 40 |+-------+----------+4행 세트(0.00초)