2012년 7월 28일 토요일

mysql 엑셀로 변환

엑셀과 Mysql간의 데이타 공유

많은 사람들이 엑셀과 Mysql간의 데이타공유에 관심이 많이 있는것 같아 간단한 변환과정에
대해서 알아보도록 하겠다.

1. 엑셀에서 Mysql로의 변환과정
1) 파일메뉴에서 "다른이름으로 저장" 선택
2) 화면의 파일형식을 "텍스트 (탭으로 분리)" 로 선택 하고 저장파일 이름을 지정하고
저장
3) 저장된 파일을 사용할 곳에 FTP 를 이용해서 올린다.
4) mysql에 접속한다.
5) 데이타를 저장할 테이블을 생성한다.
6) load data infile '파일이 있는 경로명' into table 테이블명;

2. Mysql에서 엑셀로의 변환과정
1) mysql에 접속한다.
2) select * into outfile '파일경로명' from 테이블명;
3) 저장한 파일을 가져온다.
4) 엑셀 프로그램을 실행하고 파일메뉴에서 열기 선택
5) 열기메뉴의 파일형식을 텍스트로 선택하고 열기를 하면 텍스트마법사가 실행된다.
6) 마법사 1 단계 - "구분기호로 분리됨"
7) 마법사 2단계 - 구분기호 선택 (기본은 탭)
8) 마법사 3단계 - 각 필드에 대한 엑셀의 데이타 형태를 지정


LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES TERMINATED BY '\n']
[IGNORE number LINES]
[(col_name,...)]

사용예)
- 필드간의 구분자는 '\t' 레코드의 구분은 '\n'
데이타 형태
123 12345 123456
1234 123456 222222

load data infile '파일명' into table 테이블명
load data infile '파일명' into table 테이블명 fields terminated by '\t' lines termina
ted by '\n'

- 필드간의 구분자는 ',' 레코드 구분자는 '\n' 문자형 필드가 "" 로 싸여 있을때
데이타 형태
123,"aaaa","bbbbb"
345,"bbbb","ccccc"

load data infile '파일명' into table 테이블명 fileds terminated by ',' optionally enc
losed by '"' lines terminated by '\n'

- 테이블의 형태가
a int auto_increment
b varchar(20)
c date
d varchar(50)
입력할 데이타의 형태는
aaaaa 2001-10-20 ddddddddddddd
bbbbbb 2001-10-22 dkdkdkdkdkdkkd
일때 b, c, d 필드에만 입력해야 할 경우

load data infile '파일명' into table 테이블명(b,c,d)



SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...]
[LIMIT [offset,] rows]
[PROCEDURE procedure_name]
[FOR UPDATE | LOCK IN SHARE MODE]]


사용예)

- 필드의 구분을 '\t' 레코드별 구분을 '\n' 으로 저장을 할경우
select * into outfile '파일명' from 테이블명
select * into outfile '파일명' fields terminated by '\t' lines terminated by '\n' fro
m 테이블명

aaa bbb ccc
bbb ccc ddd

- 필드간의 구분자는 ',' 레코드 구분자는 '\n' 문자형 필드가 ""로 저장을 할때
select * into outfile '파일명' fields terminated by ',' optionally enclosed by '"' li
nes terminated by '\n' from 테이블명

"aaaa",123,"ccc"
"bbb",234,"ddd"


- 테이블에 a,b,c,d 의 필드가 있고 b,c,d 필드의 값만을 저장할때
select b,c,d into outfile '파일명' from 테이블명

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...