ySQL에 데이터를 대량 삽입하는 방법

ySQL에 데이터를 대량 삽입하는 방법

2022-06-04 last update

7 minutes reading MySQL MariaDB
MySQL은 유행하는 RDM으로 SQL을 사용하여 언어 관리 사이트나 응용 프로그램의 데이터를 조회하는 데 쓰인다.사이트의 데이터는 표 형식으로 저장되고 대량의 데이터를 삽입하는 데 시간이 많이 걸릴 것이다. 이를 위해 SQL은 서로 다른 방법으로 데이터를 대량으로 삽입할 수 있다.본고에서 우리는 MySQL 테이블에서 하나의 조회를 사용하여 대량의 데이터를 삽입하는 것을 배울 것이다.

ySQL에 대량 데이터 삽입 방법


많은 경우 같은 조회를 사용하여 데이터베이스에 많은 항목을 만든다. 예를 들어 학생의 성적카드를 만들려면 하나의 조회로 모든 학생의 기록을 갱신하는 것을 권장한다. 각 학생의 성적기록을 단독으로 삽입하는 것이 아니라 모든 학생의 기록을 갱신하는 것을 권장한다. 이것은 많은 시간을 소비할 것이다.
ySQL에 데이터를 대량으로 삽입하는 방법은 두 가지가 있습니다.

메서드 1: LOAD 데이터 문을 CSV 파일과 함께 사용


또 다른 방법은 CSV 파일에 데이터를 삽입하는 것입니다. 이를 이해하기 위해 교사의 이름표를 만들 것입니다. 여기에는 교실에서 명령으로 가르치는 과목이 포함되어 있습니다.
CREATE TABLE teacher_names (teacher_id INT, teacher_name VARCHAR(50), subject VARCHAR(50));

텍스트 파일을 열고 다음 데이터를 입력합니다.
teacher_id,teacher_name,subject

1,”John”,”English”

2,”Sophia”,”Science”

3,”Paul”,”Arts”

텍스트 파일을 "teacher\unames.csv"이름으로 저장합니다.데이터를 불러올 때 – secure file priv option 오류가 발생할 수 있습니다. 다음 그림과 같습니다.
LOAD DATA INFILE '/home/teacher_names.csv' INTO TABLE teacher_names FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

이 문제를 해결하려면 teacher\u 이름을 이동해야 합니다.csv에서 secure\u file\u priv variable 폴더로 이동합니다.명령을 실행하여 변수 secure\u file\u priv 경로를 찾습니다.
SHOW VARIABLES LIKE "secure_file_priv";

csv 파일을/var/lib/mysql myfiles 폴더로 이동합니다.

다음 명령을 실행하여teacher\u 이름에서 모든 데이터를 가져옵니다.csv 파일이 MySQL에 대한 teacher\u names 테이블:
LOAD DATA INFILE '/var/lib/mysql-files/teacher_names.csv' INTO TABLE teacher_names FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

파일을 열고 확인하려면 다음과 같이 하십시오.
SELECT * FROM teacher_names;

메서드 2: INSERT INTO 문 사용하기


첫 번째 방법은 insert 명령을 사용하여 대량 데이터를 삽입하는 것이다.MySQL에서 명령을 사용하여 대량 데이터를 삽입하는 일반적인 구문을 살펴보겠습니다.

ySQL에 대량 데이터 삽입 구문


ySQL 테이블에 대용량 값을 삽입하는 일반적인 구문은 다음과 같습니다.
INSERT INTO table_name VALUES (data), (data), (data);
위의 일반 구문에 대한 설명은 간단합니다.
  • INSERT INTO 자구와 데이터를 삽입할 테이블 이름
  • 을 입력합니다.
  • 자구 값을 사용하고 괄호에 첫 번째 줄의 데이터를 쓰고 괄호를 닫고 뒤에 쉼표
  • 를 놓습니다.
  • 쉼표 뒤에 괄호를 사용하고 다른 줄의 데이터를 입력합니다
  • .
    작업 원리를 이해하기 위해 예시를 생각해 보겠습니다. 다음 명령을 사용하여 "class\u result"표를 만들 것입니다.
    CREATE TABLE class_result (st_id INT, st_name VARCHAR(50), st_grade CHAR(25));

    우리는 단일 명령을 사용하여 다섯 명의 학생의 결과를 삽입할 것이다.
    INSERT INTO class_result VALUES (1,’John’,’A’),(2,’Elsa’,’D’),(3,’Sophia’,’B’),(4,’Paul’,’B’),(5,’Saira’,’A’);

    테이블의 컨텐트를 표시하려면 다음과 같이 하십시오.
    SELECT*FROM class_result;

    위의 출력에서 볼 수 있듯이, 우리는 하나의 조회를 사용하여 대량의 데이터를 삽입하였으며, 서로 다른 조회를 통해 데이터를 삽입하지 않았다.

    결론


    MySQL에서 단일 질의를 사용하여 대량의 데이터를 삽입하면 많은 시간을 절약할 수 있습니다.이 글에서 우리는 하나의 명령을 사용하여 MySQL 테이블에 대량의 값을 삽입하는 방법을 배웠다.우리는 MySQL 조회를 사용하여 테이블에 여러 줄 기록을 삽입하고 대량의 데이터를 MySQL 테이블에 삽입하는 방법을 설명하는 테이블을 만들었습니다.또한 LOAD 테이블 쿼리를 사용하여 CSV 형식 파일의 데이터를 MySQL 테이블에 삽입하는 방법도 설명했습니다.