MySQL에서 데이터를 삽입하고 수정하는 방법

 

MySQL을 처음 배우거나 실무에서 다룰 때 가장 기본이 되는 작업은 바로 데이터 삽입과 수정입니다. 단순히 INSERT와 UPDATE 문법만 아는 것보다 상황에 맞는 쿼리를 유연하게 사용할 수 있어야 실무에 강해집니다.

MySQL에서 데이터를 삽입하고 수정하는 다양한 방법실무 팁을 정리해보았습니다.

 


INSERT로 데이터 삽입하기

INSERT INTO users (name, email) VALUES ('홍길동', 'hong@example.com');
  • INSERT INTO 구문은 테이블에 새로운 레코드를 추가합니다.
  • 컬럼 순서와 VALUES 값 순서는 일치해야 합니다.

여러 레코드 한 번에 삽입

INSERT INTO users (name, email)
VALUES 
  ('김철수', 'kim@example.com'),
  ('이영희', 'lee@example.com');

-> 대량 데이터 입력 시 성능상 유리합니다.

 


INSERT ... ON DUPLICATE KEY UPDATE

INSERT INTO users (id, name)
VALUES (1, '홍길동')
ON DUPLICATE KEY UPDATE name = '홍길동';
  • 기존 키(id)가 있으면 INSERT 대신 UPDATE를 실행합니다.
  • PRIMARY KEY 또는 UNIQUE 제약이 설정된 컬럼에서 주로 사용합니다.

 


UPDATE로 기존 데이터 수정하기

UPDATE users SET email = 'new@example.com' WHERE id = 1;
  • 항상 WHERE 조건을 명확하게 지정해야 합니다.
  • 지정하지 않으면 모든 데이터가 수정되니 주의하세요.

복수 조건 적용 예시

UPDATE users 
SET email = 'update@example.com'
WHERE name = '홍길동' AND email LIKE '%@example.com';

REPLACE INTO: 삽입 + 삭제 후 재삽입

REPLACE INTO users (id, name, email)
VALUES (1, '홍길동', 'hong@example.com');
  • 중복 키가 있으면 기존 데이터를 삭제한 후 새 데이터 삽입
  • 주의: 삭제로 간주되기 때문에 트리거나 AUTO_INCREMENT 등에 영향을 줄 수 있음

-> 일반적으로는 INSERT + ON DUPLICATE 방식을 추천합니다.

 


쿼리 선택이 성능과 안전성 좌우

MySQL에서 데이터를 삽입하고 수정하는 방법은 단순하지만, 상황에 따라 가장 적절한 방법을 선택해야 합니다.

  • 새로운 데이터 추가: INSERT
  • 중복 키 시 수정: ON DUPLICATE
  • 기존 데이터 변경: UPDATE
  • 중복 시 삭제 후 삽입: REPLACE

실무에서는 항상 WHERE 조건을 정확하게 지정하고 백업을 생활화하는 습관이 중요합니다.