'Load Data' 문은 csv파일을 마크베이스에 입력한다.
먼저 데이터를 저장할 테이블을 생성하는데, csv 파일의 첫 벌째 라인을 이용하여 칼럼들을 생성한다. 생성된 칼럼들의 데이터 타입은 VARCHAR(32768)이다. 데이터 파일 경로는 $MACHBASE_HOME을 기준으로 한 상대 경로이다. 절대경로로 설정할 수도 있다.
LOAD DATA문에 대한 자세한 설명은 Import/Export페이지를 참고하라. 테이블의 데이터들을 csv 파일로 저장하기 위해서는 SAVE DATA문을 이용한다.
만약 csv파일의 각 필드에 대한 데이터 타입을 미리 알고 있다면, 테이블을 미리 생성하여 데이터를 입력할 수 있다.
'load_sample.csv' 파일을 LOAD DATA 문으로 입력하면, 테이블 'load_sample' 이 자동으로 생성된다.
Load Data
LOAD DATA INFILE 'sample/quickstart/load_sample.csv' INTO TABLE load_sample AUTO HEADUSE;
입력 데이터 확인
SELECT * FROM load_sample;
샘플 파일을 이용하여, 다음과 같이 실행할 수 있다.
[mach@localhost ~]$ cd $MACHBASE_HOME/sample/quickstart [mach@localhost ~]$ ls -l load_sample.csv -rw-r --r--- 1 root root 2827 2017-02-23 15:01 load_sample.csv [mach@localhost ~]$ machsql ================================================================= Machbase Client Query Utility Release Version 3.5.0 Copyright 2014, Machbase Inc. or its subsidiaries. All Rights Reserved ================================================================= Machbase server address (Default:127.0.0.1) : Machbase user ID (Default:SYS) Machbase User Password : MACH_CONNECT_MODE=INET, PORT=5656 mach> LOAD DATA INFILE 'sample/quickstart/load_sample.csv' INTO TABLE load_sample AUTO HEADUSE; 50 row(s) loaded. Failed to load 0 row(s). Elapsed time: 0.344 mach> DESC load_sample; ---------------------------------------------------------------- NAME TYPE LENGTH ---------------------------------------------------------------- SENSOR_ID varchar 32767 EPOCH_TIME varchar 32767 E_YEAR varchar 32767 E_MONTH varchar 32767 E_DAY varchar 32767 E_HOUR varchar 32767 E_MINUTE varchar 32767 E_SECOND varchar 32767 VALUE varchar 32767 mach> SELECT COUNT(*) FROM load_sample; COUNT(*) ----------------------- 50 [1] row(s) selected. Elapsed time: 0.000 mach>