TOP

SQL UPDATE

SQL UPDATE 설명

UPDATE 명령은 테이블의 기존 레코드를 수정하는 데 사용됩니다.


UPDATE 구문

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition
테이블의 항목을 업데이트할 때 주의하세요! UPDATE 문에서 WHERE 표현식을 확인하세요. WHERE 표현식은 업데이트할 레코드를 지정합니다. WHERE 표현식을 생략하면 테이블의 모든 레코드가 업데이트됩니다!

데모 데이터베이스

다음은 "Northwind" 데이터베이스의 "Customers"("고객") 테이블의 샘플입니다.

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

SQL UPDATE 테이블 예

다음 SQL 쿼리는 첫 번째 고객(CustomerID = 1)을 새 담당자와 새 도시(City)로 업데이트합니다.

UPDATE Customers 
SET ContactName = 'Alfred Schmidt', City = 'Frankfurt' 
WHERE CustomerID = 1

이제 "Customers" 테이블의 선택 항목은 다음과 같습니다.

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea S-958 22 Sweden

SQL UPDATE 여러 레코드를 가져오는 예

WHERE 표현식은 업데이트될 레코드 수를 결정합니다.

다음 SQL 쿼리는 국가가 "Mexico"인 모든 레코드에 대해 ContactName을 "Juan"으로 변경합니다.

UPDATE Customers 
SET ContactName = 'Juan' 
WHERE Country = 'Mexico'

이제 "Customers" 테이블의 선택 항목은 다음과 같습니다.

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Juan Mataderos 2312 Mexico D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea S-958 22 Sweden

SQL 업데이트 사용시 주의사항!

기록을 업데이트할 때는 주의하십시오. WHERE 표현식을 생략하면 모든 레코드가 업데이트됩니다!
UPDATE Customers 
SET ContactName = 'Juan'

이제 "Customers" 테이블의 선택 항목은 다음과 같습니다.

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Juan Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Juan Mataderos 2312 Mexico D.F. 05023 Mexico
4 Around the Horn Juan 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Juan Berguvsvagen 8 Lulea S-958 22 Sweden