본문 바로가기

SQL문/데이터 갱신

UPDATE문 이용하기(데이터 수정)

반응형

데이터를 입력을 할 때도 있고  삭제를 할 때도 있습니다.  하지만  해당 데이터를  수정을 해야 하는 경우도 빈번하게 발생을 합니다. 

 

이용을 하는  SQL 문이  UPDATE문 입니다.   데이터를  잘못 입력을 하면  삭제를 하고 다시 입력을 하는 방법도 있지만  이 방법 보다는   수정을 하는 방법이  더  좋은 방법입니다. 

 

기본  구문은  아래와 같습니다. 

 

UPDATE < 테이블명 > SET < 열명 >  = <값> ; 

 

그럼 예문을 보면서  다시 설명을 하여 보도록 하겠습니다. 

 

UPDATE My_INSERT SET m_date  = '2022-08-29' ; 

 

이렇게 작성을 하고 실행을 하면  My_INSERT  테이블에 있는  열 m_date  의 모든 데이터가 2022-08-29 변경이 됩니다.  

 

이렇게  일관적으로  데이터를 수정을 하는 경우도 있지만 특정 행의 열에 대한 데이터만  수정을 해야 하는 경우가 있습니다. 

 

이런 경우에는 WHERE 문을 이용을 해서  조건을 지정을 해서  수정을 하면 됩니다.    구문을 확인을 하여 보도록 하겠습니다. 

 

UPDATE < 테이블명 > SET < 열명 >  = <값> WHERE <조건> ; 

 

예을 들어서   상품을 분류를 하는 열중에 PC 용품만  해당이 되는  판매 단가를  변경을 하고 싶다면 아래와 같이  구문을 작성을 하시면 됩니다. 

 

UPDATE  My_INSERT SET B_Price = 6000 WHERE M_CLASS ='PC용품' ; 

 

이렇게 작성을 하고 실행을 하면 M_CLASS열에 있는  PC용품에 해당이 되는   항목에 대해서만  B_Price 값이 6000으로 변경이 된 것을 확인을 할 수가 있습니다. 

 


UPDATE 문을 통해서 NULL 수정 

경우에 따라서  NULL로 변경을 해야 하는 경우가 있습니다. 특별히 어렵지는 않습니다. 아래 예문을 보시면 됩니다. 

 

UPDATE  My_INSERT SET B_Price = NULL WHERE M_CLASS ='PC용품' ; 

 

이렇게  대입식 우변에 NULL를  기술을 하시면 됩니다.

 

 


여려 열을  수정을 하고 싶다면 

 

하나의 열을 수정을 해야 하는 경우도 있지만  다수의 열을  수정을 해야 하는 경우가 많습니다.  이런 경우에  두 가지 방법을 이용을 해서  수정을 할 수가 있습니다.  각 방법에 대해서 확인을 하여 보도록 하겠습니다. 

 

UPDATE  My_INSERT SET B_Price = NULL ,P_Price = 1000   WHERE M_CLASS ='PC용품' ; 

 

이렇게 열을 쉽표로 구분해서 나열하는 방식으로 수정을 하는 방법이 있습니다. 

 

UPDATE  My_INSERT SET (B_Price,P_Price ) = (NULL ,1000)   WHERE M_CLASS ='PC용품' ; 

 

또는 이렇게 열을 괄호로 감싸서 사용을 하는 방법이 있습니다. 


여기까지   수정을 하는 방법에 대해서 확인을 하였습니다.   다음 글에서는  트랜잭션에 대해서  확인을 하여 보도록 하겠습니다. 

반응형