MySQL 일괄 삽입 및 업데이트를 배우기 위한 팁은 무엇입니까?

王林
풀어 주다: 2023-07-30 19:57:29
원래의
4014명이 탐색했습니다.

MySQL 일괄 삽입 및 업데이트를 배우기 위한 팁은 무엇입니까?

MySQL은 다양한 유형의 애플리케이션에서 널리 사용되는 인기 있는 관계형 데이터베이스 관리 시스템입니다. 일괄 삽입 및 업데이트는 대량의 데이터를 처리할 때 데이터베이스 성능을 향상시키는 핵심 기술 중 하나입니다. 이 기사에서는 일반적으로 사용되는 몇 가지 MySQL 배치 삽입 및 업데이트 기술을 소개하고 해당 코드 예제를 제공합니다.

1. 데이터 일괄 삽입

  1. 여러 데이터를 한 번에 삽입하려면 INSERT INTO VALUES 문을 사용하세요.

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) , (value1, value2 , ...), ...

예를 들어 학생 테이블에 여러 행의 학생 데이터를 삽입합니다.

INSERT INTO 학생 (이름, 나이, 성별) VALUES ('Alice', 18, 'female'), (' Bob', 20, 'male'), ('Charlie', 19, 'male');

이 방법은 데이터가 알려져 있고 데이터의 양이 적은 상황에 적합합니다.

  1. 다른 테이블에서 선택한 여러 데이터를 한 번에 삽입하려면 INSERT INTO SELECT 문을 사용하세요.

INSERT INTO table_name (column1, column2, ...) SELECT column1, column2, ... FROM another_table WHERE 조건;

예를 들어 테이블 A에서 조건을 충족하는 여러 데이터 조각을 선택하여 테이블 B에 삽입합니다.

INSERT INTO table_B (column1, column2, ...) SELECT column1, column2, ... FROM table_A WHERE 조건 ;

이 방법은 조건에 따라 한 테이블에서 데이터를 선택하여 다른 테이블에 삽입해야 하는 상황에 적합합니다.

  1. LOAD DATA INFILE 문을 사용하여 외부 데이터 파일 일괄 가져오기

LOAD DATA INFILE 'file_path' INTO TABLE table_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '
';

예: CSV 파일의 데이터를 테이블로 일괄 가져오기:

LOAD DATA INFILE '/data/students.csv' INTO TABLE Student
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '
';

이 방법 외부 데이터 파일에서 일괄적으로 데이터를 가져와야 하는 상황에 적용 가능합니다.

2. 데이터를 일괄 업데이트

  1. REPLACE INTO 문을 사용하여 일괄 업데이트

REPLACE INTO table_name (column1, value2, ...) VALUES (value1, value2, ...), (value1, value2 , .. .), ...

이 명령문은 조건에 맞는 데이터를 먼저 삭제한 후 새로운 데이터를 삽입합니다. 업데이트할 데이터가 이미 존재할 경우 삭제 후 재삽입됩니다.

  1. UPDATE 문과 CASE 문을 사용하여 데이터를 일괄 업데이트합니다.

UPDATE table_name
SET 컬럼1 = CASE

            WHEN condition1 THEN value1 
            WHEN condition2 THEN value2 
            ...
         END,
column2 = CASE 
            WHEN condition1 THEN value1 
            WHEN condition2 THEN value2 
            ...
         END,
...
로그인 후 복사

WHERE 조건;

예를 들어 조건에 따라 학생 정보를 일괄 업데이트합니다.

UPDATE 학생
SET age = CASE

        WHEN name = 'Alice' THEN 19 
        WHEN name = 'Bob' THEN 21 
        ...
     END,
gender = CASE 
            WHEN name = 'Alice' THEN 'female' 
            WHEN name = 'Bob' THEN 'male' 
            ...
         END
로그인 후 복사
로그인 후 복사

WHERE name IN ('Alice', 'Bob', ...);

이 방법은 조건에 따라 일괄적으로 데이터를 업데이트하는 데 적합합니다.

위는 일반적으로 사용되는 몇 가지 MySQL 배치 삽입 및 업데이트 기술이며 실제 상황에 따라 적절한 작동 방법을 선택할 수 있습니다. 다음은 INSERT INTO VALUES 문과 UPDATE 문을 사용하여 학생 정보를 일괄 삽입하고 업데이트하는 시나리오를 보여주는 포괄적인 예입니다.

--학생 정보를 일괄 삽입
INSERT INTO 학생(이름, 나이, 성별) VALUES
('Alice' , 18, 'female'),
('Bob', 20, 'male'),
('Charlie', 19, 'male');

-- 학생 정보를 일괄 업데이트
UPDATE 학생
SET age = CASE

        WHEN name = 'Alice' THEN 19 
        WHEN name = 'Bob' THEN 21 
        ...
     END,
gender = CASE 
            WHEN name = 'Alice' THEN 'female' 
            WHEN name = 'Bob' THEN 'male' 
            ...
         END
로그인 후 복사
로그인 후 복사

WHERE name IN ('Alice', 'Bob', ...);

이러한 일괄 삽입 및 업데이트 기술을 배우고 적용하면 MySQL 데이터베이스의 운영 효율성과 성능을 향상시킬 수 있습니다. , 특히 대량의 데이터 장면을 처리할 때 그렇습니다.

위 내용은 MySQL 일괄 삽입 및 업데이트를 배우기 위한 팁은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿