앞서 설명한 Import_table(importTable) 은 MySQL 문을 캡슐화하는 다양한 형식의 텍스트를 병렬로 가져오는 도구입니다. 데이터 로컬 파일을 로드합니다.
예를 들어 탭 구분 문자 텍스트 데이터 파일: /tmp/sample_ytt.txt? 표: ytt_new.t 1 에 대해 다음 명령문을 실행할 수 있습니다.
위의 결과는 무엇입니까? 파일에 데이터를 로드하시겠습니까? 명령문의 임포트 결과. Import_table 메소드를 사용하여 동일한 작업을 수행하는 경우 파이썬 구문을 기반으로 다음과 같은 메소드를 사용합니다.
그런 다음 텍스트 파일을 가져올 때 각 행을 사전 처리하는 또 다른 요구 사항을 살펴보겠습니다. 예를 들어 데이터를 가져오기 전에 R2 열 값을 mod(r 1, 10) 로 변경하고 r5 열 값을 abs(r4-46) 로 변경합니다.
이 수요가 이용됐나요? 파일에 데이터를 로드하시겠습니까? 명령문은 쉽게 구현할 수 있습니다. (UPDATE 구문과 유사하게 가져올 때 R2 및 r5 열의 데이터를 변경합니다.)
그렇다면 util.import_table(importTable) 을 사용하여 이러한 요구 사항을 달성하려면 MySQL 8.0.22 이전에는 방법이 없었습니다.
MySQL 8.0.22 가 출시되면서 MySQL 은 import_table 메소드를 확장하여' deColumns' 옵션을 추가하여 필드의 사전 입력 사용자 정의 기능을 구현하고 더욱 풍부하게 할 수 있게 되었습니다.
다음으로 import_table 을 사용하여 위의 요구 사항을 구현하고 필드 R2 와 r5 를 사용자 정의합니다.
위의 옵션은 다음 그림에 나와 있습니다.
위 그림의 의미를 자세히 설명하겠습니다. 파란색 글꼴 열의 배열은 데이터 파일의 각 필드 행을 지정합니다. 즉, 각 열의 값은 기본 탭 구분 기호로 구분되고, 1 과 2 는 자리 표시자를 나타내고, 1 은 데이터 파일의 각 행의 첫 번째 열을 나타내고, 2 는 데이터 파일의 각 행의 네 번째 열을 나타냅니다 예를 들어 r 1 필드는 변수 @ 1 으로 유지되고 R2 필드는 mod(r 1, 10) 에 해당합니다.
여전히 변환 규칙을 잘 모르는 경우 일반 로그를 일시적으로 열 수 있습니다. 위의 import_table(importTable) 에 해당하는 MySQL 로그는 다음과 같습니다.
위의 로그는 내부가 가장 기본적인 load data infile 구문으로 변환되었다는 것을 잘 알고 있습니다.
여기서는 MySQL 8.0.22 의 MySQL Shell 맞춤형 입력 텍스트 파일에 대한 새로운 기능을 간단히 해석하여 더 많은 새로운 기능을 계속 주시할 수 있습니다.