> 데이터 베이스 > MySQL 튜토리얼 > 데이터 정렬 오류 및 구문 분석 오류를 처리하는 동안 어떻게 효율적으로 CSV 데이터를 MySQL 테이블로 가져올 수 있습니까?

데이터 정렬 오류 및 구문 분석 오류를 처리하는 동안 어떻게 효율적으로 CSV 데이터를 MySQL 테이블로 가져올 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-19 03:09:13
원래의
553명이 탐색했습니다.

How Can I Efficiently Import CSV Data into MySQL Tables While Handling Data Misalignment and Parsing Errors?

CSV 파일을 MySQL 테이블로 가져오기

문제: CSV 파일의 데이터를 MySQL로 올바르게 로드할 수 없습니다. 누락되거나 잘못 정렬된 등의 문제가 있는 테이블 data.

분석:

LOAD DATA INFILE을 사용하는 원래 접근 방식에는 여러 줄에 걸친 텍스트 광고문의 잘못된 구문 분석과 적절한 구분 기호 사양 부족으로 인해 오류가 있었습니다.

해결책 1(LOAD DATA 사용 INFILE):

이러한 문제를 해결하기 위해 LOAD DATA INFILE 문이 다음 매개 변수를 포함하도록 수정되었습니다.

  • COLUMNS TERMINATED BY ',': 열 구분 기호를 지정합니다. 쉼표로 표시됩니다.
  • 선택적으로 '"'로 묶음: 다음을 나타냅니다. 텍스트 필드는 큰따옴표로 묶일 수 있습니다.
  • ESCAPED BY '"': 텍스트 필드 내의 큰따옴표가 이스케이프되도록 지정합니다.
  • LINES TERMINATED BY 'n': 행이 다음으로 종료됨을 나타냅니다. 개행 문자입니다.
  • 1 줄 무시: 일반적으로 열이 포함된 CSV 파일의 첫 번째 줄을 무시합니다. names.

이로 구문 분석 문제가 해결되었지만 데이터가 여전히 잘못 정렬되었습니다.

해결책 2(mysqlimport 사용):

A CSV 파일을 MySQL로 가져오는 보다 효율적이고 안정적인 방법은 mysqlimport 유틸리티를 사용하는 것입니다. 구분 기호 및 기타 가져오기 매개변수를 지정하는 추가 옵션을 제공합니다.

mysqlimport를 사용하려면:

  1. 데이터베이스 및 테이블 생성: 데이터베이스 및 테이블 생성 CSV 데이터를 가져오려는 항목입니다.
  2. 명령어 사용: 다음을 실행합니다. 명령, 특정 데이터베이스 및 테이블 이름으로:
mysqlimport --ignore-lines=1 \
            --fields-terminated-by=, \
            --local -u root \
            -p Database \
             TableName.csv
로그인 후 복사
  • --ignore-lines=1: 일반적으로 열 이름이 포함된 CSV 파일의 첫 번째 줄을 무시합니다.
  • --fields-terminating-by=,: 열 구분 기호를 쉼표로 지정합니다.
  • --local: 데이터가 로컬 호스트에 있음을 나타냅니다.
  • -u root: MySQL 사용자(이 경우 "root")를 지정합니다.
  • -p: MySQL 비밀번호를 묻는 메시지를 표시합니다.

이 방법은 CSV 데이터를 MySQL 테이블로 가져오는 보다 정확하고 효율적인 방법을 제공합니다.

위 내용은 데이터 정렬 오류 및 구문 분석 오류를 처리하는 동안 어떻게 효율적으로 CSV 데이터를 MySQL 테이블로 가져올 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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