티스토리 뷰


1.  UPDATE - 역할

테이블에 데이터를 수정하는 역할


◈ 구문형식


UPDATE 테이블명 SET 컬럼1 = 값1 , 컬럼2 = 값2 ... WHERE 조건 컬럼= 조건 값


SELECT문을 이용


UPDATE 테이블명 A SET 컬럼1 = (SELECT 컬럼명 FROM 테이블명 B WHERE A.컬럼2=B.컬럼2)

WHERE 조건컬럼 = 조건 값




2. UPDATE - 기본 테이블


◈ TEST_TABLE_ONE


 IDX

ID

NAME

AMT

1

test1

테스트1

1000

2

test2

테스트2

2000

3

test3

테스트3

3000



◈ TEST_TABLE_TWO


 IDX

ID

NAME

AMT

1

test1

테스트1

1000

2

test2

테스트2

2000

3

test3

테스트3

3000




3. UPDATE - SQL 문장


1. UPDATE 일반 문장


◈ SQL 문장

1
2
UPDATE TEST_TABLE_ONE SET AMT=5000
WHERE ID='test3'




◈ 결과 테이블


ID

NAME

AMT

test1

테스트1

1000

test2

테스트2

2000

test3

테스트3

5000


◈ 설명


SELECT문을 활용하지 않는 일반 문장에서는 위와 같이 조건에 따라 입력을 해주면 됩니다.

테스트3에 해당하는 AMT만 3,000 에서 5,000으로 올리고자 하면 위와 같이 하시면 됩니다. 



2. SELECT를 이용한 수정


◈ SQL 문장 

1
2
3
UPDATE TEST_TABLE_ONE A SET AMT=
(SELECT AMT FROM TEST_TABLE_TWO B WHERE A.ID=B.ID)
WHERE ID='test3'




◈ 결과 테이블   


ID

NAME

AMT

test1

테스트1

1000

test2

테스트2

2000

test3

테스트3

3000


◈ 설명


첫번째 SQL문장을 이용해 test3에 해당하는 AMT가 5,000 이었습니다.

그래서 두번째 문장에서 SELECT 문장을 이용해 test3에 해당하는 정보를 TEST_TWO테이블에서 가져와 SELECT문장을 활용해서 다시 3,000으로 수정을 하였습니다.

저도 자주 실수가 일어나는 이 부분이 이 SELECT 문장을 활용할 때 입니다.

조건을 어떻게 주느냐에 따라서 여러행을 각자에 맞게 수정을 해야 하는데 엉뚱하게 하나의 값으로 수정되는 경우가 종종 있습니다.

SELECT 문장을 이용하실 때는 꼭 조건 잘 확인해 주세요~!




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday