[ mysql ] update를 이용한 일괄계산(이 구문으로 모든데이터의 값을 한번에 바꾼다) > database

본문 바로가기
사이트 내 전체검색

database

[ mysql ] update를 이용한 일괄계산(이 구문으로 모든데이터의 값을 한번에 바꾼다)

페이지 정보

작성자 웹지기 댓글 0건 조회 1,936회 작성일 18-10-01 00:24

본문

update 테이블 set 필드명=(가져올필드명*실수) where 조건구문

위와같은 식으로 한번에 여러 필드의 값을 곱하거나 더해서 전체적으로 계산을 쉽게 할 수 있다.

 

가령 185,555 원이 있을때 이 값을 186,000 으로 올리고 싶을때는

+++ update 테이블 set 필드명 = (가져올필드명 * 0.001) where 조건구문 <== 을 이용하여 일단 뒤에붙은555라는 숫자를 자동올림으로 올려버린다 값은 186 이된다.

이값을 다시 한번 update 구문을 이용하여 정상가격으로 올려준다

+++ update 테이블 set 필드명 = (가져올필드명 *1000) where 조건구문 <== 을 이용하여 값을 원래대로 돌려준다 값은 186,000 이된다.

 

또, 값을 일괄적으로 올릴시는

update 테이블 set 필드명=(가져올필드명*1.05) where 조건구문 <== 을 이용하여 값을 전체적으로 0.5% 인상시키는 구문이다.


이 update 구문의 단점은 무조건 반올림이라는것이다. 가령 숫자가 123,456 일때 124,000으로 변하지 않는다는 것이다. 이 구문을 이용하여 124,000으로 바꾸고 싶다면 다른 응용이 필요할것같다

ound(숫자,자릿수) -- 반올림 

ceiling(숫자) -- 소수 첫번째값을 무조건 올림 

floor(숫자) -- 소수 첫번째 값을 무조건 내림 

활용-- 

update ----------------- round((가져올필드명*1.05),2) ------------------------------


기존 -1234-1244일때 010을 붙이고 싶다면 

문자의 값을 더하고 싶을 때는 update 테이블 set hp=concat('010'.hp); 

하면 010-1234-1244가 된다

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 27건 1 페이지
  • 27 [ mysql ] mariadb 설치 후 비밀번호 초기 변경
  • 1. mysqladmin 을 이용하는 방법 &gt;mysqladmin -u root -p password 새비밀번호 &gt;Enter password: 기존비밀번호입력 최초설치시에는 비밀번호가 없으므로 기존 비밀번호에서는 그냥 Enter 새비밀번호에 '1234' 이런형태로 입력하면 비밀번호는 1234가 아니고 '1234' 가 된다 2. mysql update를 이용하는 방법 &gt;mysql -u root -p &gt;Enter password:...
  • 웹지기 05-11 1201 0 0 댓글 0
  • 열람중 [ mysql ] update를 이용한 일괄계산(이 구문으로 모든데이터의 값을 한번에 바꾼다)
  • update 테이블 set 필드명=(가져올필드명*실수) where 조건구문위와같은 식으로 한번에 여러 필드의 값을 곱하거나 더해서 전체적으로 계산을 쉽게 할 수 있다.가령 185,555 원이 있을때 이 값을 186,000 으로 올리고 싶을때는+++ update 테이블 set 필드명 = (가져올필드명 * 0.001) where 조건구문 &lt;== 을 이용하여 일단 뒤에붙은555라는 숫자를 자동올림으로 올려버린다 값은 186 이된다.이값을 다시 한번 update 구문을 이용하여 정상가격으로...
  • 웹지기 10-01 1937 0 0 댓글 0
  • 23 [ mysql ] datetime의 기본값 입력시 db 오류 현상
  • datetime의 db에 직접입력시[code]ALTER TABLE `테이블명` ADD `추가필드이름` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `추가할 이전 필드`;[/code]이러한 형태로 값을 넣으면 오류(#1067 - Invalid default value for 'wr_datetime')가 발생하여 저장이 되지 않는다하지만, php 에서 변수를 통해서 입력하면 정상적으로 들어가 지기는 한다.[code]$sql = " ALTER...
  • 웹지기 09-27 2744 0 0 댓글 0
  • 22 [ Mysql ] 데이터 형 set 사용법
  • [code]SELECT * FROM 테이블명 WHERE 셋형필드명 LIKE '%value%';SELECT * FROM 테이블명 WHERE FIND_IN_SET('value',필드명) &gt; 0;SELECT * FROM 테이블명 WHERE 필드명='val1,val2';SELECT * FROM 테이블명 WHERE 필드명 &amp; 1;[/code]
  • 웹지기 09-27 1624 0 0 댓글 0
  • 20 [ Mysql ] 내장함수 정리
  • MySQL 내장 함수 정리 1. 숫자 관련 함수▶ ABS(숫자) - 절대값 출력.▶ CEILING(숫자) - 값보다 큰 정수 중 가장 작은 수.▶ FLOOR(숫자) - 값보다 작은 정수 중 가장 큰 수[실수를 무조건 버림(음수일 경우는 제외)].▶ ROUND(숫자,자릿수) - 숫자를 소수점 이하 자릿수에서 반올림.(자릿수는 양수,0,음수를 갖을 수 있다.)▶ TRUNCATE(숫자,자릿수) - 숫자를 소수점 이하 자릿수에서 버림.▶ POW(X,Y) or POWER(X,Y) - X의 Y승▶ MOD ...
  • 웹지기 09-19 4726 0 0 댓글 0
  • 19 [ Mysql ] 시간및 날짜 함수 정리
  • MySQL에서 사용되는 날짜 함수에 대해서 정리합니다. 아래 정리된 함수중 절반만 숙지해도 날짜 및 시간에 대해서는 쉽게 컨트롤할 수 있을것 같네요^^ 현재 날짜 및 시간을 얻는 함수 - NOW() : 현재 날짜 및 시간을 반환합니다. - SYSDATE() : NOW()와 동일합니다. mysql&gt; select NOW(); +---------------------+ | NOW() | +---------------------+ | 20...
  • 웹지기 09-11 2219 0 0 댓글 0
  • 18 [ mysql ] 중복데이터 추출 할 때 group by having 각각의 데이터별로 중복값 유무 검색
  • 중복데이터가 몇개이상인 것을 검색하고 싶을 때 중복데이터를 추출 할 때 group by having절을 사용해서 검색을 합니다. 중복데이터가 몇개이상인 것을 검색하고 싶을 때 select *, count(검색필드명 또는 *) as ok from 테이블명 where 필드명=값 group by 검색필드명 having count(검색필드명 또는 *) &gt; n 이런식으로 쿼리를 실행시키면 한 필드마다의 중복된 값들이 표기되며 몇개씩 중복되어 있는지 알 수 가 있다. ...
  • 웹지기 06-10 3722 0 0 댓글 0
  • 16 [ Mysql ] function 만들기
  • 먼저 함수를 정의를 하고 입력할 값을 넣어서 자리를 만들어 준다. 가령 함수를 FN_GET_DELEVERY_ATOTAL() 로 사용하고 싶다고 하고 함수에 들어갈 파라미터 값들을 각각 정의해준다. 그러면 FN_GET_DELEVERY_ATOTAL('id', 'status', 'sdate', 'edata'); 이렇게 해서 검색을 하는 방식이다. 조건문에는 어떤식으로 검색을 할 것인지의 조건을 나열해 주면 된다. DELIMITER $$ CREATE FUNCTIO...
  • 웹지기 05-15 1612 0 0 댓글 0
  • 15 [ mysql ] 데이터형과 범위
  • 문자형 데이터타입# 데이터 유형 정의 CHAR(n) 고정 길이 데이터 타입(최대 255byte)- 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간 공백으로 채워진다. VARCHAR(n) 가변 길이 데...
  • 웹지기 12-09 1816 0 0 댓글 0
  • 14 [ Mysql ] 데이터 형 set 사용법
  • SELECT * FROM 테이블명 WHERE 셋형필드명 LIKE '%value%'; SELECT * FROM 테이블명 WHERE FIND_IN_SET('value',필드명) &gt; 0; SELECT * FROM 테이블명 WHERE 필드명='val1,val2'; SELECT * FROM 테이블명 WHERE 필드명 &amp; 1;
  • 웹지기 09-27 2150 0 0 댓글 0
  • 13 [ mysql ] heidiSQL로 db 백업시 테이블명 대소문자 확인
  • heidiSQL db를 백업하면서 lang_ch_ZN lang_en_US 라는 테이블이 있었는데 백업을 해보니 모두 소문자로 백업이 되었다. 게시글을 못가져와서 확인해보니 테이블명 대소문자 때문에 그랬다. 대소문자 꼭 확인하자
  • 장승원 11-04 1949 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
391
어제
4,996
최대
24,117
전체
2,705,361

그누보드5
Copyright © funyphp.com. All rights reserved.