English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL 데이터 업데이트(UPDATE 문)

이 튜토리얼에서는 SQL을 사용하여 데이터베이스 테이블의 기록을 업데이트하는 방법을 배울 것입니다。

테이블 데이터를 업데이트하는 방법을 배웠습니다。

이전 장에서는 다양한 조건에 따라데이터를 삽입하는 방법데이터베이스 테이블에서데이터를 선택하는 쿼리。이 튜토리얼에서는 데이터베이스 테이블의 기존 기록을 업데이트하는 더 중요한 작업을 수행하는 방법을 배울 것입니다。

문법

UPDATE 문은 테이블의 기존 데이터를 업데이트하는 데 사용됩니다。

UPDATE table_name SET column1_name = value1, column2_name = value2,...WHERE 조건;

여기서는column1_namecolumn2_name는 업데이트할 값이 있는 데이터베이스 테이블의 열 또는 필드 이름입니다. 또한, 이전 장에서 배운 OR와 AND 연산자를 사용할 수 있습니다.여러 조건을 결합

경고:UPDATE 문의 WHERE 절은 업데이트해야 할 레코드를 지정합니다. WHERE 절을 생략하면 모든 레코드가 업데이트됩니다。

다음 예제를 통해 실제 작동 방식을 보여드리겠습니다。

데이터베이스에employees테이블이 다음과 같은 기록을 가지고 있습니다:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank | 2008-06-24 |   5600 |    NULL |
+--------+--------------+------------+--------+---------+

단일 열 업데이트

다음 SQL 문은 업데이트할employees테이블의emp_name필드에 새 값을 설정하고, employee id(즉emp_id)이 equals3。

UPDATE employees SET emp_name = 'Sarah Ann Connor'
WHERE emp_id = 3;

실행 후, 결과 테이블은 다음과 같이 표시됩니다:

+--------+------------------+------------+--------+---------+
| emp_id | emp_name         | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt       | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank       | 2008-06-24 |   5600 |    NULL |
+--------+------------------+------------+--------+---------+

다중 열 업데이트

물론, 쉼표로 구분된 열 이름과 값 쌍의 목록을 사용하여 여러 열을 업데이트할 수 있습니다. 다음 예제는 업데이트할employees테이블emp_id에5 의 현재 직원salarydept_id필드.

UPDATE employees
SET salary = 6000, dept_id = 2
WHERE emp_id = 5;

실행 후, 결과 테이블은 다음과 같이 표시됩니다:

+--------+------------------+------------+--------+---------+
| emp_id | emp_name         | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt       | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank       | 2008-06-24 |   6000 |       2 |
+--------+------------------+------------+--------+---------+