전제조건: csv 파일이 데이터로 존재해야 함.
광주 구/법정동/행정동 있는 데이터를 준비해서 postgreSQL 에 넣어보려고 한다.
1. CSV 파일 준비
데이터 출처: 행정표준코드관리시스템 https://www.code.go.kr/index.do
구글 스프레드시트에서 작업한 파일을 파일-다운로드-쉼표로 구분된 값(CSV) 파일로 다운받았다.
만약 XLSX파일이나 XLS 파일이 있다면, 파일 형식을 CSV로 바꿔서 내보내기 하면 된다.
2. 테이블 생성
테이블을 쿼리문을 통해 생성
CREATE TABLE "TB_DONG" (
"DONG_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
"GU_NAME" VARCHAR(8),
"H_DONG_NAME" VARCHAR(8),
"B_DONG_NAME" VARCHAR(8)
);
추천 사이트: https://dbdiagram.io/
이 사이트에서는 구조화도 할 수 있고, postgreSQL 내보내기를 해서 테이블 생성 쿼리문을 다운받을 수 있다.
상단에서 export -> export to PostgreSQL 하면 자동으로 쿼리문을 생성해 준다.
테이들을 생성시 발견한 오류: postgreSQL에 DOUBLE이 없다는 오류가 나왔다.
→ DOUBLE 대신 DOUBLE PRECISION 써줄 것
CSV 파일을 IMPORT
두 가지 방법이 있다.
SQL Shell 사용하기
SQL Shell을 실행한다.
실행 후 사용자의 로컬서버, 이름등을 입력한다. 암호를 제외한 나머지 항목은 enter을 누르면 기본값이 입력된다.
그리고 다음과 같은 코드를 입력한다.
\COPY [테이블명]
FROM [파일경로]
DELIMITER ','
CSV HEADER;
예시
\COPY your_table
FROM '/path/to/your/csv/file.csv'
DELIMITER ','
CSV HEADER;
이후 데이터 행의 갯수가 출력되면 (COPY 하고 행 갯수가 나온다) 파일 IMPORT 에 성공한 것이다.
PgAdmin에서 CSV 파일을 Import 하기
pgAdmin 접속 → 해당 database → Schemas → 해당 테이블 선택 → Tools → import/Export Data 버튼 클릭
이후 import로 설정 → csv 경로 지정 → format은 csv로 설정해 준다.
option 탭에서는 구분자(Delimiter)를 설정한다.
이후 ok를 누르면 데이터가 해당 테이블로 import 된다.
'개발공부 > SQL & DB' 카테고리의 다른 글
[MySQL] 0. MySQL 설치 방법과 설치 확인하기 (6) | 2023.09.08 |
---|---|
[PostgreSQL] pandas로 DB 접근해 테이블 불러오기 (0) | 2023.08.08 |
PostgreSQL과 pdAdmin 설치하기 (0) | 2023.07.24 |
UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 51: illegal multibyte sequence 오류 해결 (0) | 2023.06.14 |
[SQL] pandas 모듈을 사용해서 csv 파일을 sql로 변환 (0) | 2023.06.07 |