English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 SQL을 사용하여 데이터베이스 테이블의 기록을 업데이트하는 방법을 배울 것입니다。
이전 장에서는 다양한 조건에 따라데이터를 삽입하는 방법데이터베이스 테이블에서데이터를 선택하는 쿼리。이 튜토리얼에서는 데이터베이스 테이블의 기존 기록을 업데이트하는 더 중요한 작업을 수행하는 방법을 배울 것입니다。
UPDATE 문은 테이블의 기존 데이터를 업데이트하는 데 사용됩니다。
UPDATE table_name SET column1_name = value1, column2_name = value2,...WHERE 조건;
여기서는column1_name,column2_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 의 현재 직원salary와dept_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 | +--------+------------------+------------+--------+---------+