전통시장찾기 메뉴 작업과정(mysql 적재과정)

· 조회수 14

생활검색에 보이는 전통시장찾기를 위한 공공데이터포탈의 전국전통시장표준데이터(csv)를 mysql테이블에 적재하는 작업과정으로 크게 어렵지는 않습니다. 데이터타입은 본문 따르실 필요없이 목적, 상황에 맞게 작성을 하시면 됩니다. 지역 분류 콤보박스와 테이블 ajax 연동은 추후 올려보겠습니다. 

1.col1 ~ col18까지 18개의 컬럼을 가진 테이블(localmarket) 생성(csv파일의 쉼표(,)를 기준으로 필드의 갯수와 컬럼수가 동일해야 함) 데이터타입은 varchar 길이는 255(목적에 맞게 작성) 

2.공공데이터포털( https://www.data.go.kr/data/15012894/standard.do )에서 csv파일 받고 편집기로 열어서 utf-8 인코딩 저장 

3.phpMyAdmin에서 가져오기 선택후 파일 문자셋(utf-8), 형식(csv), 일부분만 가져오기에서 첫줄이 제목줄이므로 1 입력(첫줄은 제외) 나머지 옵션은 그대로 두고 가져오기함 

4.정상적으로 가져오기 했는지 테이블 레코드수와 csv 엑셀 열수를 비교 

5.분류를 위한 컬럼 col19 ~ col21을 만듬(데이터타입은 varchar 길이는 255인데 앞서 처음 생성했을때오 마찬가지로 목적에 맞게 작성) col19는 시도, col20은 시군구, col21은 읍면동(충청북도 청주시 상당구일때 col19는 충청북도, col20은 청주시, col21은 상당구) 분류 데이터는 col4로 공백으로 나뉘어진 지번주소로 구성된 컬럼 

6.SUBSTRING_INDEX함수를 이용해 col4의 데이터를 가공해 col19 ~ col21까지 입력 col4의 데이터를 공백으로 구분하고 첫번째 요소를 가져와 col19에 입력

update  localmarket set col19 = (SELECT SUBSTRING_INDEX(col4,  ' ', 1)); //충청북도

col4의 데이터를 공백으로 구분하고 첫번째와 두번째 요소를 가져와 col20에 입력하고 col20에 입력된 데이터를 공백으로 구분해 뒤에서 첫번째 요소를 col20에 입력

update  localmarket set col20 = (SELECT SUBSTRING_INDEX(col4,  ' ', 2)); //충청북도 청주시
update  localmarket set col20 = (SELECT SUBSTRING_INDEX(col20,  ' ', -1)); //청주시

col4의 데이터를 공백으로 구분하고 첫번째와 두번째, 세번째 요소를 가져와 col21에 입력하고 col21에 입력된 데이터를 공백으로 구분해 뒤에서 첫번째 요소를 col21에 입력

update  localmarket set col21 = (SELECT SUBSTRING_INDEX(col4,  ' ', 3)); //충청북도 청주시 상당구
update  localmarket set col21 = (SELECT SUBSTRING_INDEX(col21,  ' ', -1));//상당구

"훌륭한 예술이란 그럴 듯하게 보이는 것이 아니라 우리의 마음을 움직이는 것. - 로이 아자크"

- 예술 -

북마크목록