반응형
LOAD DATA INFILE을 사용하여 CSV 파일에서 MySQL 데이터베이스로 선택한 열을 삽입하는 방법
10 개의 열이 포함 된 CSV 파일이 있습니다. 해당 파일에서 일부 열만 선택하고 LOAD DATA INFILE
명령을 사용하여 MySQL 데이터베이스로로드하고 싶습니다 .
MySQL의 테이블에 데이터를로드하고 열을 지정합니다.
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE t1
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
(@col1,@col2,@col3,@col4) set name=@col4,id=@col2 ;
@ col1,2,3,4는 csv 파일 열 (4라고 가정)을 보유하는 변수이며, id는 테이블 열입니다.
LOAD DATA INFILE 'file.csv'
INTO TABLE t1
(column1, @dummy, column2, @dummy, column3, ...)
FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '"'
LINES TERMINATED BY '\r\n';
column1, column2 등을 열 이름으로 바꾸고 무시하려는 CSV의 열이있는 곳에 @dummy를 넣으십시오.
데이터로드 infile 문에 CSV의 열 이름을 지정합니다.
코드는 다음과 같습니다.
LOAD DATA INFILE '/path/filename.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(column_name3, column_name5);
여기서는 테이블에 두 개의 열 (열 이름으로 선택할 수 있음)에만 데이터를 추가합니다.
주의해야 할 것은 한 줄 (행) 당 두 개의 값이있는 CSV 파일 (filename.csv)이 있다는 것입니다. 그렇지 않으면 언급하십시오. 나는 다른 해결책이 있습니다.
감사합니다.
예:
ae.csv 파일의 내용 :
"Date, xpto 14"
"code","number","year","C"
"blab","15885","2016","Y"
"aeea","15883","1982","E"
"xpto","15884","1986","B"
"jrgg","15885","1400","A"
CREATE TABLE Tabletmp (
rec VARCHAR(9)
);
열 3 만 넣으십시오.
LOAD DATA INFILE '/local/ae.csv'
INTO TABLE Tabletmp
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 2 LINES
(@col1, @col2, @col3, @col4, @col5)
set rec = @col3;
select * from Tabletmp;
2016
1982
1986
1400
데이터베이스 테이블에 csv의 열 수보다 많은 열이있는 경우 다음과 같이 진행할 수 있습니다.
LOAD DATA LOCAL INFILE 'pathOfFile.csv'
INTO TABLE youTable
CHARACTER SET latin1 FIELDS TERMINATED BY ';' #you can use ',' if you have comma separated
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
(yourcolumn,yourcolumn2,yourcolumn3,yourcolumn4,...);
다음과 같은 오류가있는 경우 :
오류 코드 : 1290. MySQL 서버가 --secure-file-priv 옵션으로 실행 중이므로이 문을 실행할 수 없습니다.
이 명령을 실행하여 파일을로드 할 수있는 폴더를 확인할 수 있습니다.
SHOW VARIABLES LIKE "secure_file_priv";
그런 다음 해당 폴더의 파일을 복사하고 LOAD DATA LOCAL INFILE
대신 LOAD DATA INFILE
.
반응형
'IT TIP' 카테고리의 다른 글
[x] 위치의 요소가 목록에 있는지 확인 (0) | 2020.10.25 |
---|---|
Windows Bat 파일 선택적 인수 구문 분석 (0) | 2020.10.25 |
PHP에서 날짜에 3 개월 추가 (0) | 2020.10.25 |
로컬 Flask 서버에서 느린 요청 (0) | 2020.10.25 |
CSS3 필터 블러로 정의 된 가장자리 (0) | 2020.10.25 |