> 데이터 베이스 > MySQL 튜토리얼 > LOAD DATA INFILE을 사용하여 CSV 파일을 MySQL로 가져올 때 열을 건너뛰려면 어떻게 해야 합니까?

LOAD DATA INFILE을 사용하여 CSV 파일을 MySQL로 가져올 때 열을 건너뛰려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-11-17 18:21:02
원래의
193명이 탐색했습니다.

How can I Skip Columns When Importing a CSV file into MySQL using LOAD DATA INFILE?

MySQL의 LOAD DATA INFILE을 사용하여 CSV 가져오기에서 열 건너뛰기

CSV 파일의 데이터를 MySQL 테이블로 가져올 때 항상 모든 열을 매핑할 필요는 없습니다. 때로는 관련 없는 열을 건너뛰거나 데이터 불일치가 있는 열 매핑을 피하는 것이 바람직합니다.

문제:

11개의 열이 있는 CSV 파일을 생각해 보세요.

col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11
로그인 후 복사

그리고 9개만 포함된 MySQL 테이블 columns:

col1, col2, col3, col4, col5, col6, col7, col8, col9
로그인 후 복사

목표는 CSV의 열 1~8을 MySQL 테이블의 처음 8개 열로 가져오고, 열 9와 10을 건너뛴 다음 CSV의 열 11을 열 9에 매핑하는 것입니다.

해결책:

CSV에서 열을 건너뛰려면 가져오는 동안 LOAD DATA INFILE 명령에 @dummy 변수를 사용합니다.

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table (
    col1,
    @dummy1,
    col2,
    @dummy2,
    col3,
    col4,
    col5,
    col6,
    col7,
    col8,
    @dummy3,
    @dummy4,
    col9
)
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'
로그인 후 복사

이 명령에서:

  • @dummy1, @dummy2, @dummy3 및 @dummy4는 다음과 같습니다. 건너뛴 열의 값을 보유할 사용자 변수.
  • CSV 파일의 열 9 및 10 @dummy3 및 @dummy4에 각각 할당되므로 효과적으로 삭제됩니다.

이 솔루션을 사용하면 숫자가 다른 경우에도 CSV 열을 테이블 열에 선택적으로 매핑할 수 있습니다.

위 내용은 LOAD DATA INFILE을 사용하여 CSV 파일을 MySQL로 가져올 때 열을 건너뛰려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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