MySQL 예제가 포함된 UPDATE 쿼리

⚡ 스마트 요약

MySQL UPDATE 쿼리는 테이블의 기존 행을 수정하며, 단일 문으로 하나 또는 여러 필드를 변경합니다. 이 자료에서는 UPDATE 구문, WHERE 절 필터링, members 테이블을 사용한 예제, 그리고 의도치 않은 대량 업데이트를 방지하는 안전 장치에 대해 설명합니다.

  • ✏️ 핵심 주장: `UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition]`는 필터와 일치하는 모든 행의 값을 새로 씁니다.
  • ⚠️ 생략된 위치: WHERE 절이 없으면 UPDATE 문은 테이블의 모든 행의 열을 다시 작성합니다.
  • 🔢 값 서식 지정: 문자열 및 날짜 값에는 작은따옴표를 사용해야 하지만, 숫자 값에는 사용할 필요가 없으며, 날짜는 'YYYY-MM-DD' 형식을 따릅니다.
  • 🧩 다중 열: 여러 필드를 한 번에 업데이트하려면 각 작업을 쉼표로 구분하세요.
  • 🔍 검증 단계: WHERE 절을 먼저 SELECT 문으로 실행한 다음, UPDATE 후에 다시 실행하여 새 값을 확인합니다.
  • 🛡️ 안전 업데이트 모드: MySQL Workbench는 WHERE 절에서 키 열을 기준으로 필터링하지 않는 모든 UPDATE 문을 거부합니다.

업데이트 쿼리란 무엇입니까?

The UPDATE MySQL UPDATE 명령어는 테이블의 행을 수정하는 데 사용됩니다. UPDATE 쿼리는 단일 필드 또는 여러 필드를 동시에 변경할 수 있습니다. 또한 여러 필드를 업데이트하는 데에도 사용할 수 있습니다. MySQL 다른 테이블에서 값을 가져온 테이블입니다.

UPDATE 쿼리를 사용하는 이유는 무엇인가요? MySQL?

데이터는 영원히 정확한 상태로 유지되는 경우가 드뭅니다. 회원의 전화번호가 바뀌고, 가격이 변동하며, 주문 상태가 '대기 중'에서 '배송 완료'로 변경됩니다. 기존 행을 삭제하고 새로운 행을 삽입하면 기본 키와 모든 외래 키 참조가 손상됩니다. UPDATE 문은 행을 제자리에서 수정하므로 ID와 관계는 변경 후에도 유지됩니다.

UPDATE 쿼리는 다음과 같은 경우에 적합한 도구입니다.

  • 값이 잘못되었거나 오래되었습니다: 이름의 오타를 수정하거나 연락처 정보를 업데이트할 때, 다른 정보는 그대로 유지하세요.
  • 상태가 앞으로 나아가야 합니다: 단 하나의 열을 수정하여 주문 상태를 "대기 중"에서 "배송 완료"로 변경하세요.
  • 여러 분야가 동시에 변화합니다. 하나의 명령으로 새 이름과 새 주소를 동시에 설정할 수 있습니다.
  • 일괄 수정이 필요합니다: 여러 행과 일치하는 WHERE 절은 모든 행에 동일한 편집을 한 번에 적용합니다.

WHERE 절이 없는 UPDATE 문은 모든 행을 덮어쓰기 때문에, 이 필터는 일상적인 수정과 실수로 인한 덮어쓰기를 구분합니다.

MySQL 업데이트 명령 구문

목적이 정해졌으니 다음 단계는 구문입니다. UPDATE 쿼리의 기본 형식은 다음과 같습니다. MySQL 아래에 나와 있습니다.

UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition];

여기 :

  • `table_name`을 업데이트합니다. 알려주는 명령이다 MySQL 표의 데이터를 수정합니다.
  • `column_name`에 'new_value'를 설정합니다. UPDATE 쿼리의 영향을 받을 필드의 이름과 값을 지정합니다. 값을 설정할 때 문자열 데이터 형식은 작은따옴표로 묶어야 합니다. 숫자 값은 따옴표가 필요하지 않습니다. 날짜 값은 작은따옴표로 묶고 'YYYY-MM-DD' 형식으로 입력해야 합니다.
  • [WHERE 조건] 이 옵션은 선택 사항이며, UPDATE 쿼리의 영향을 받는 행 수를 제한하는 필터를 적용하는 데 사용할 수 있습니다. 전체 옵션 목록은 아래에 나와 있습니다. MySQL 업데이트 명세서 매뉴얼.

이제 멤버 테이블의 데이터를 업데이트하는 실제 예제를 살펴보겠습니다.

업데이트 MySQL 예시

회원번호가 1번과 2번인 회원의 기록에 다음과 같은 업데이트 사항이 있다고 가정해 보겠습니다.

회원번호 업데이트 필요
1 연락처를 999에서 0759 253 532로 변경하세요.
2 이름을 Janet Smith Jones로 변경하고 실제 주소를 Melrose 123으로 업데이트하세요.

단일 열 업데이트

회원번호 1번부터 시작하겠습니다. 변경하기 전에 해당 기록을 먼저 불러오겠습니다.

SELECT * FROM `members` WHERE `membership_number` = 1;

위 스크립트를 실행하면 다음과 같은 결과가 나옵니다.

회원_번호 전체 이름 성별 생일 물리적_주소 우편 주소 연락처 이메일
1 자넷 존스 여성 21-07-1980 첫 번째 거리 플롯 번호 4 전용 가방 999 janetjones@yagoo.cm

이제 아래 표시된 스크립트를 사용하여 연락처 번호를 업데이트하겠습니다.

UPDATE `members` SET `contact_number` = '0759 253 532' WHERE `membership_number` = 1;

위 스크립트를 실행하면 회원 번호 1의 연락처 번호가 999에서 0759 253 532로 변경됩니다. SELECT 쿼리를 다시 실행하면 새 값이 적용되는 것을 확인할 수 있습니다.

회원_번호 전체 이름 성별 생일 물리적_주소 우편 주소 연락처 이메일
1 자넷 존스 여성 21-07-1980 첫 번째 거리 플롯 번호 4 전용 가방 + 0759 253 532 janetjones@yagoo.cm

여러 열 업데이트

회원번호 2번의 두 항목을 한 번에 변경해야 합니다. 다음은 업데이트 전 기록입니다.

회원_번호 전체 이름 성별 생일 물리적_주소 우편 주소 연락처 이메일
2 스미스 존스 여성 23-06-1980 파크 스트리트 NULL NULL jj@fstreet.com

다음 스크립트는 한 번의 명령으로 두 열을 모두 업데이트합니다. 두 할당 사이에 쉼표가 있는 것을 확인하세요.

UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2;

위 스크립트를 실행하면 회원 번호 2번의 전체 이름이 Janet Smith Jones로, 실제 주소가 Melrose 123으로 업데이트됩니다.

회원_번호 전체 이름 성별 생일 물리적_주소 우편 주소 연락처 이메일
2 자넷 스미스 존스 여성 23-06-1980 멜로즈 123 NULL NULL jj@fstreet.com

💡 팁: "WHERE 절"는 UPDATE 쿼리의 영향을 받는 행 수를 제한하는 요소입니다. 이를 생략하면 테이블의 모든 행이 다시 작성됩니다.

자주 묻는 질문

MySQL "일치하는 행 수"와 "변경되는 행 수"를 반환합니다. "일치하는 행 수"는 WHERE 절에서 선택한 행 수를 보여주고, "변경되는 행 수"는 새 값이 이전 값과 동일한 행을 제외한 수를 보여줍니다.

네. UPDATE와 결합하세요. JOIN 그리고 SET 절에서 두 번째 테이블을 참조합니다. 조인 조건은 각 대상 행에 대한 새 값을 제공하는 소스 행을 결정합니다.

트랜잭션으로 묶으세요. `START TRANSACTION`을 실행한 후 `ROLLBACK`을 실행하면 이전 값으로 복원됩니다. 변경 사항이 커밋되면 백업을 통해서만 이전 데이터를 복구할 수 있으므로, 먼저 `SELECT`를 사용하여 `WHERE` 절을 테스트해야 합니다.

네. AI 어시스턴트는 설명된 변경 사항을 UPDATE 구문으로 변환하고 WHERE 절을 제안합니다. 모델에 테이블 구조를 제공한 다음, 생성된 쿼리를 실행하기 전에 SELECT 문으로 필터를 확인하세요.

AI 모델은 실제 행을 볼 수 없으므로 WHERE 절이 약간만 잘못되어도 수천 개의 레코드가 조용히 변경될 수 있습니다. Rev생성된 모든 명령문을 검토하고, 스테이징 복사본에서 실행하고, 최신 백업을 유지하십시오.

이 게시물을 요약하면 다음과 같습니다.