CSV 변환
-> 외부에서 나오는 자료를 데이터베이스에 저장하는 법
CSV 변환작업 해보기
-> post.csv 파일 가져와서 zipcode테이블에 저장하기
1. 우편테이블 생성
- post.csv파일을 참조로 하여 테이블 작성한다.
- zipcode는 정해져있는 고정수이고 데이터타입을 num으로 줘도 되지만, 후의 자료 관리 및 편집 시 char형으로
주는 것이 관리하기에 더 수월하기에 char형으로 데이터타입을 설정해준다.
create table zipcode( zipcode char(7) not null --우편번호(A열) --데이터타입 char로 줘야 후에 자료 관리할 때 편함. ,sido varchar(30) not null --시, 도(B열) ,gugun varchar(50) --구, 군(C열) ,dong varchar(50) --동(D열) ,li varchar(50) --리(E열) ,bunji varchar(255) --번지(F열) ,etc varchar(255) --동(G열) ); |
2. 우편테이블에 데이터 import 하기
-> 자동 테이블 생성되기 때문에 앞서 만들었던 zipcode테이블을 먼저 drop시키고 데이터 import한다.
1) ①번 우클릭 후 데이터임포트 클릭, ②번 불러올 csv파일 로드하기, ③번 헤더 체크 풀기
2) 테이블 자동생성
- 테이블이름을 적어줌으로써, 해당 csv파일의 테이블을 자동생성한다.
3) 테이블 열 추가
- 열1 , 열2, ~는 csv파일의 A열, B열,~ 을 의미한다.
4) 테이블 열 정의하기
- 테이블의 각 열에 해당하는 이름 및 타입 설정하기
5) 완료
- count했을 때, 파일이 잘 들어간 것을 확인 할 수 있다.
문제) 시도의 갯수를 구하시오
select sido, count(sido) from zipcode group by sido order by count(sido) desc; |
- 3000개 이상인 곳만 select sido, count(sido) |
문제) 서울지역의 구의 갯수를 구하시오
select count(*) from( select gugun from zipcode where sido='서울특별시' group by gugun ); |
문제) 각 시도별, 구군별 동의 갯수를 구하시오
3. zipcode.ctl 파일 만들기
-> d:\java0514\database\zipcode.ctl
-> cmd창에서 실행
load data infile 'post.csv' insert into table zipcode fields terminated by ',' trailing nullcols (zipcode,sido,gugun,dong,li,bunji,etc) |
*cmd창에서 실행하기 전, 데이터 import를 해서 만든 테이블은 삭제하고 1번의 직접 만든 테이블로 새로 생성해주었다.
*실행하기 전에 테이블이 만들어져있어야한다.
>d:
>cd java0514
>cd database
>dir
sql연결
>sqlldr java0514/1234 control="zipcode.ctl"
'공부 > SQL 활용' 카테고리의 다른 글
7월29일 - SQL활용 9 : rownum (0) | 2019.07.30 |
---|---|
7월30일 - SQL 활용 8 : 트랜잭션 (0) | 2019.07.30 |
7월29일 - SQL활용 7 : JOIN의 종류 (0) | 2019.07.30 |
7월26일 - SQL활용 6 : 학사관리프로그램 (0) | 2019.07.26 |
7월25일 - SQL 활용 5 : JOIN (0) | 2019.07.25 |