최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

■ Database ■/MySQL

mysql에서 UPDATE문

serpiko 2013. 10. 16. 00:44

Single-table syntax:

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

Multiple-table syntax:

UPDATE [LOW_PRIORITY] [IGNORE] table_references
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]

쿼리 명령을 실행하려면,

 
1,
[전체관리]→[DB관리]→[테이블 관리] 페이지에서 우측프레임 하단에
[MySQL 쿼리실행] 버튼을 클릭하고, 
update ABCDE set column1='xyz' where no='3'
처럼 직접 쿼리문을 입력하고 [실행] 버튼 클릭하면 됩니다.
 
2,
별개의 php 파일을 만들어서 실행하려면 
<?
include "./lib.php";      // db 접속
mysql_query(" update ABCDE set column1='xyz' where no='3' ");    // 쿼리실행
?>
처럼 코드를 작성하여
technote7/test.php 위치에 파일을 올리고,  웹부라우저에서 
http;//abcd.com/technote7/test.php
과 같이 접속하면 실행됩니다.


데이타 유실의 위험성이 있으니 확실치 않은 쿼리문은 절대 실행하지 마십시오.
아래 예에서 '컬럼값' 이라고 하는 것은 해당 컬럼에 현재 저장되어 있는 데이타를 뜻합니다.



 
 
update ABCDE set column1='xyz' where no='3'
'ABCDE' 테이블의
'column1' 컬럼 값을 'xyz' 으로 수정한다.
수정대상은 'no' 컬럼값이 '3' 인 레코드 전부이다.
 
 
update ABCDE set column1='xyz' where no>3
'ABCDE' 테이블의
'column1' 컬럼 값을 'xyz' 으로 수정한다.
수정대상은 'no' 컬럼값이 '3' 보다 큰 레코드 전부이다.
 
 
update ABCDE set point=(point+50) where no<>3
'ABCDE' 테이블의
'point' 컬럼 값을 현재 값보다 50을 더한 값으로 수정한다.
수정대상은 'no' 컬럼값이 '3' 이 '아닌' 레코드 전부이다.
 
 
update ABCDE set column1='xyz',column2='1234' where point>3 and point<100
'ABCDE' 테이블의
'column1' 컬럼 값을 'xyz' 으로,  'column2' 컬럼 값을 '1234' 로 수정한다.
수정대상은 'point' 컬럼값이 '3' 보다 크고 100 보다 작은 레코드 전부이다.
 
 
update ABCDE set column1='xyz' where no>3 order by uid limit 20
'ABCDE' 테이블의
'column1' 컬럼 값을 'xyz' 으로 수정한다.
수정대상은 'no' 컬럼값이 '3' 보다 큰 레코드이고,
전체목록을 uid 컬럼값을 기준으로 정렬해서 상위 20 개를 수정한다.
 
 

update ABCDE set column1=replace(column1,'코리아','한국')
'ABCDE' 테이블의
'column1' 컬럼 값에 '코리아' 라는 단어가 포함되어 있다면 모두 '한국' 으로 수정한다.
 

update ABCDE set column1=replace(column1,'코리아','한국') where wdate>1159454960
'ABCDE' 테이블의
'column1' 컬럼 값에 '코리아' 라는 단어가 포함되어 있는 것은  '한국' 으로 수정한다.
수정대상은 wdate 컬럼의 값이 1159454960 보다 큰 레코드 이다.
 

update ABCDE set column1=concat(column1,'hellow') where no>5
'ABCDE' 테이블의
'column1' 컬럼 값에 'hellow' 라는 단어를 덧붙인다.
수정대상은 no 컬럼의 값이 5 보다 큰 레코드 이다.

 

출처 : ㅠttp://www.technote.co.kr/php/technote1/board.php?board=faq&command=body&no=14

 

'■ Database ■ > MySQL' 카테고리의 다른 글

DB 데이터타입 지정의 예  (0) 2014.10.21
mysql DELETE문  (0) 2013.10.16
데이터타입2  (0) 2013.10.16
MySQL 기본 명령어 정리  (0) 2013.10.16
SQL의 기초  (0) 2013.10.15
댓글