언로드 (unload)는 내리는 거죠.
무얼? database에 있는 데이터를
어디로? 파일로.
그럼 언로드를 수행하면 뭔가 파일이 생기겠죠...?
Syntax > unload to 'unload.dat' select_statements
- 'unload.dat' : 실제로 시스템에 생성될 물리적인 파일 이름.
- select_statements : 보통은 "select * from table"이렇게 사용하겠지만,
만약에 특정한 컬럼 몇개만 필요하다면 컬럼명을 명시하면 됩니다.
informix에서는 기본적으로 파일로 데이터를 내려놓는 경우 구분자(delimiter)는 '|'(pipe)가 됩니다.
(dbexport해놓은 파일도 그렇더군엽...^^;;)
예제)
Database name : stores_demo
Table name : items
user-informix ] cat > unload.sql
unload to 'items.dat' select * from items;
^D
user-informix ] dbaccess stores_demo unload
적당한 메세지..
이제 ls -l 해서 보면 directory안에 items.dat파일이 있을겁니다.
참~! 여기서 확장자는... 사실 별다른 규칙을 타지는 않습니다. 적당한 확장자를 주면 되져... (인포믹스에서는 주로 .unl 확장명을 쓰더군여. unload라는 뜻인가...?)
열어보면
첫번째|두번째|세번째|...
이런식으로 각 필드들이 '|'로 구분되어 있지요.
이번에는 load.
load는 dbload를 써도 무방하긴 한데...^^;;
둘의 차이라면, load는 반드시, 절대로 필드 구분자가 '|'이어야 한다는 거고
dbload는 지정할 수 있다는 거지요. ','든 '#'이든 '$'든...^_^;;
dbload의 장점이자 단점인 건... command file을 작성해야 한다는 겁니당.
전번에 올렸던거 참고하시면 되겐네요.
로드 (load)는 올리는 거죠.
무얼? 파일에 있는 데이터를
어디로? database로.
그럼 로드를 수행하려면 뭔가 파일이 있어야 될테고, 어디로 올릴지 정해야겠죠?
Syntax > load from 'unload.dat' insert_statements
- 'unload.dat' : 시스템에 존재하고있는 물리적인 파일 이름.(필드구분자가 반드시, 절대로 '|'인 데이터 파일)
- insert_statements : 보통 "insert into table"이렇게 사용하겠지요.
예제)
Database name : stores_demo
Table name : items
user-informix ] cat > load.sql
load from 'items.dat' insert into items;
^D
user-informix ] dbaccess stores_demo load
적당한 메세지..
그럼...^_^
|