MySQL 데이터베이스에서 내 보낸 CSV 파일이 있는데이를 CockroachDB로 옮기고 싶습니다. 명령 줄에서 데이터를 읽으려면 어떻게해야합니까?CockroachDB로 CSV 파일을 어떻게 가져 옵니까?
2
A
답변
3
CSV 파일을 CockroachDB로 가져 오는 가장 쉬운 방법은 CSV의 각 행을 SQL INSERT
문으로 변환하는 CSV to SQL 변환기를 사용하는 것입니다. 이를 위해 임의의 수의 웹 사이트를 찾을 수도 있고, awk, Perl 또는 Python과 같은 방식으로 처리 할 스크립트를 작성할 수도 있습니다. 당신은 당신의 SQL을 파일에 INSERT
문을했으면, 그렇게처럼 그들을 실행할 수 있습니다
cockroach sql --database=[your db] < [file].sql
을 양자 택일로, 당신은 포스트 그레스가 설치되어있는 경우, 당신은 psql
통해 CockroachDB에 연결하고를 가져 오기 위해 COPY
명령을 사용할 수 있습니다 CSV.
psql postgres://[email protected]:26257/DATABASE -c "COPY [table] FROM '[path to].csv' DELIMITER ',' CSV;"
1
는 바퀴벌레가도 않는 DELIMITER
문을 지원하지 않습니다 로컬 컴퓨터에 기본 포트에서 CockroachDB를 실행하는 경우
psql postgres://[email protected]:PORT/DATABASE -c "COPY [table] FROM '[path to].csv' DELIMITER ',' CSV;"
, 여기에 작성 기본값과 같은 명령입니다
psql postgres://[email protected]:port/DATABASE -c "COPY [table] FROM '[path to].csv';"
COPY FROM
를 사용하는 것은 아니므로는
CSV
형식으로 명시 적으로 허용 그들은 구분 기호로 특수 문자
\t
를 하드 코딩 왜
sed -i 's/,/\t/g' [your file].csv
을 :
은 구분 기호 문자 는 CSV 파일이 구분 기호로 ,
를 사용하는 경우 그래서, 당신은 쉽게 나오지 사용하여 변환 할 수있는 특수 문자 \t
해야합니다 ,
대신 내 지식이 있습니다.
postgres의 나를 위해 didnt 한 일을 바퀴벌레 명령로드를 복사에서이 약 개방 문제가있다. 이 접근 방식은 문서에서도 언급되지 않았으므로 실제로 지원되지 않는다고 가정하고 있습니다. pgdump 복원이 지원됩니다. –