MySQL::MySQL5.7Reference Manual::3.3.3 선적 데이터를 테이블로

3.3.3 으로 데이터를 로드하는 테이블

작성 후에는 테이블 채워야 합니다. LOAD DATAINSERT문은 이에 유용합니다. 여기에 표시된 것처럼 애완 동물 기록을 설명 할 수 있다고 가정 해보십시오. (MySQL 은'YYYY-MM-DD'형식의 날짜를 기대한다는 것을 관찰하십시오.)

name owner species sex birth death
Fluffy Harold cat f 1993-02-04
Claws Gwen cat m 1994-03-17
Buffy Harold dog f 1989-05-13
Fang Benny dog m 1990-08-27
바우 Diane 강아지 m 1979-08-31 1995-07-29
쾌활 f 1998-09-11
휘슬러 1997-12-09
슬림 m 1996-04-29

기 때문에 당신은 시작과 함께 빈 테이블,쉬운 방법을 채우 그것은 텍스트 파일을 만들어를 포함하는 행에 대한 각각의 동물,그런 다음 파일의 내용을 단일 명령문으로 테이블에로드합니다.

할 수 있는 텍스트 파일을 만들고pet.txtCREATE TABLENULL\N(백 슬래시,capital-N)를 사용하십시오. 예를 들어,레코드에 대한 휘슬러에 새 다음과 같이 보일 것입니다(어디 사이에 공백을 값은 단일 탭 문자)

Whistler Gwen bird \N 1997-12-09 \N

을 로드하는 텍스트 파일pet.txtpet테이블이 문을 사용:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;

경우 파일을 만든 윈도우에서 편집기를 사용하는\r\n라인으로는 터미네이터,당신은 이 문을 사용하는 대신:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet LINES TERMINATED BY '\r\n';

(에서는 애플 컴퓨터를 실행 macOS, 당신이 사용하고 싶LINES TERMINATED BY '\r'.)

지정할 수 있습의 열 값을 분리기와 라인의 끝 마커 명시적으로는LOAD DATApet.txt파일을 제대로 읽기에 충분합니다.

문이 실패하면 MySQL 설치에 기본적으로 활성화 된 로컬 파일 기능이 없을 가능성이 큽니다. 이를 변경하는 방법에 대한 자세한 내용은 6.1.6 절,”로드 데이터 로컬에 대한 보안 고려 사항”을 참조하십시오.

한 번에 하나씩 새 레코드를 추가하려는 경우INSERTCREATE TABLEINSERT문 like this:

mysql> INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

문자열과 날짜 값을 지정된 문자열이 여기에. 또한,INSERTNULLLOAD DATA\N를 사용하지 않습니다.

이 예제에서,당신이 볼 수 있어야 될 것을 더 많이 입력하여 로드하는 레코드를 처음에 사용하는 여러INSERTLOAD DATA문입니다.