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 조건을 정확하게 지정하고 백업을 생활화하는 습관이 중요합니다.
'개발 > DB' 카테고리의 다른 글
MySQL에서 데이터베이스 복제와 고가용성 구성하기 (1) | 2025.08.23 |
---|---|
MySQL에서 데이터 삭제 및 갱신 시 주의사항 (1) | 2025.08.22 |
MySQL에서 날짜와 시간 관련 함수 사용법 (0) | 2025.08.20 |
MySQL에서 문자열 함수 활용법 (0) | 2025.08.19 |
MySQL에서 EXPLAIN 명령어로 쿼리 성능 분석 (2) | 2025.08.18 |