집 >데이터 베이스 >MySQL 튜토리얼 >CSV 파일을 SQL Server로 효율적으로 가져오고 쉼표, 큰따옴표 및 잘못된 데이터를 처리하려면 어떻게 해야 합니까?
이 가이드에서는 BULK INSERT
명령을 사용하여 CSV 파일을 SQL Server로 가져올 때 발생하는 일반적인 문제를 해결합니다. 세 가지 주요 문제와 효과적인 해결책을 살펴보겠습니다.
도전과제 1: 데이터 필드에 쉼표 삽입
CSV 데이터에는 필드 내에 쉼표가 포함되는 경우가 많습니다(예: "John Doe, Jr."). 이는 BULK INSERT
에서 필드 구분 기호로 해석됩니다. 해결 방법은 BULK INSERT
문 내에서 "||"와 같은 대체 필드 구분 기호를 지정하는 것입니다.
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( FIELDTERMINATOR = '||' )</code>
도전과제 2: Excel 내보내기에서 큰따옴표 처리
Excel로 내보낸 CSV 파일은 쉼표가 포함된 필드를 캡슐화하기 위해 큰따옴표를 사용하는 경우가 많습니다. BULK INSERT
는 본질적으로 이를 지원하지 않습니다. 가져온 후 UPDATE
문은 다음 인용문을 효율적으로 제거합니다.
<code class="language-sql">UPDATE table SET column_with_quotes = REPLACE(column_with_quotes, '"', '')</code>
도전 3: 유효하지 않은 데이터 식별 및 관리
가져오기에 실패한 문제가 있는 데이터가 있는 행을 찾아내려면 ERRORFILE
옵션을 활용하세요. 이는 BULK INSERT
에게 해당 행의 세부정보를 별도의 오류 파일에 기록하도록 지시합니다.
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( ERRORFILE = 'C:\CSVData\SchoolsErrorRows.csv' )</code>
이러한 기술을 구현하면 CSV 가져오기 프로세스를 SQL Server로 간소화하고 잠재적인 데이터 불일치를 효과적으로 관리할 수 있습니다.
위 내용은 CSV 파일을 SQL Server로 효율적으로 가져오고 쉼표, 큰따옴표 및 잘못된 데이터를 처리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!