MySQL에서 테이블을 CSV로 내보내는 방법

How Export Table Csv Mysql



CSV 파일은 많은 응용 프로그램에서 지원하는 매우 일반적인 텍스트 파일 형식입니다. CSV의 전체 형식은 쉼표로 구분된 값입니다. 즉, 데이터는 이 파일의 각 줄에서 쉼표로 구분됩니다. 주로 이 파일 형식을 지원하는 다양한 유형의 응용 프로그램 간에 표 형식 데이터를 교환하는 데 사용됩니다. XML은 응용 프로그램 간에 데이터를 교환하는 데 일반적으로 사용되는 또 다른 파일 형식입니다. 그러나 CSV 파일은 XML 파일보다 공간과 대역폭을 덜 차지하기 때문에 XML 파일보다 더 나은 옵션입니다. 데이터를 다른 응용 프로그램으로 가져오기 전에 한 응용 프로그램에서 CSV 형식으로 데이터를 내보내야 합니다. MySQL은 데이터베이스 테이블에서 데이터를 내보내는 다양한 방법을 지원합니다. CSV 형식은 그 중 하나입니다. 이 기사에서는 MySQL 데이터베이스 테이블에서 CSV 형식으로 데이터를 내보내는 다양한 방법을 보여줍니다.

전제 조건:

내보내기 문을 실행하기 전에 새 데이터베이스와 테이블을 생성하거나 기존 데이터베이스와 테이블을 선택해야 합니다. 다음 명령을 실행하여 도서관 데이터베이스 및 세 개의 테이블 책, 대출 그리고 book_borrow_info .







창조하다 데이터 베이스 도서관;
사용하다 도서관;

창조하다 테이블 서적(
ID 지능 아니다 없는 자동 증가 ,
제목 바르차르 (오십) 아니다 없는 ,
작가 바르차르 (오십) 아니다 없는 ,
발행자 바르차르 (오십) 아니다 없는 ,
기본 키 (ID)
) 엔진 = 이노디비 ;

창조하다 테이블 차용인(
ID 바르차르 (오십) 아니다 없는 ,
이름 바르차르 (오십) 아니다 없는 ,
주소 바르차르 (오십) 아니다 없는 ,
이메일 바르차르 (오십) 아니다 없는 ,
기본 키 (ID)
);

창조하다 테이블 book_borrow_info(
차용 ID 바르차르 (오십),
book_id 지능 ,
차용일 데이트 아니다 없는 ,
반환 기일 데이트 아니다 없는 ,
상태 바르차르 (열 다섯) 아니다 없는 ,
인덱스 par_ind(book_id),
기본 키 (차용 ID,차용일),
외래 키 (book_id) 참조 서적(ID)
삭제 종속
업데이트 종속 );

다음 SQL 명령을 실행하여 일부 데이터를 세 개의 테이블에 삽입하십시오.



끼워 넣다 안으로 서적 가치
( 없는 , '앵무새 죽이기', '하퍼 리', '그랜드 센트럴 퍼블리싱'),
( 없는 , 백년의 고독', 가르시아 마르케스, '루트피 오즈콕'),
( 없는 , '투명 인간', '랄프 엘리슨', '브리태니커 백과사전');

끼워 넣다 안으로 차용인 가치
('123490', '패트릭 우드', '34 웨스트 스트리트 LANCASTER LA14 9ZH', ' [이메일 보호됨] '),
('157643', '에즈라 마틴', '10 더 그로브 버밍엄 B98 1EU', ' [이메일 보호됨] '),
('146788', '프레드릭 핸슨', '85 하이필드 로드 SHREWSBURY SY46 3ME',
' [이메일 보호됨] ');

끼워 넣다 안으로 book_borrow_info 가치
('123490', 1, '2020-02-15', '2020-02-25', '돌아왔다'),
('157643', 2, '2020-03-31', '2020-03-10', '보류 중'),
('146788', , '2020-04-10', '2020-01-20', '빌린');

내보낸 모든 파일은 MySQL의 특정 위치에 저장되고 위치는 변수에 저장됩니다. secure_file_priv . 다음 명령을 실행하여 파일의 경로를 찾으십시오. 변경할 수 없는 읽기 전용 변수입니다.



보여 주다 변수 처럼 '안전한_파일_개인 ';





파일의 위치는 '/var/lib/mysql-files/' . 내보내기 명령을 실행할 때 이 위치를 사용해야 합니다.

INTO OUTFILE 문을 사용하여 CSV 형식으로 데이터 내보내기:

다음을 사용하여 모든 데이터베이스 테이블을 내보낼 수 있습니다. 아웃파일로 성명. 의 데이터를 내보내고 싶다고 가정해 보겠습니다. 서적 테이블. 이 테이블의 기존 데이터를 확인하려면 다음 명령을 실행합니다.



선택하다 * 에서 서적;

모든 파일 이름 .csv 내보내기 파일 이름에 확장자를 설정할 수 있습니다. 다음 내보내기 명령을 실행하여 생성 책.csv 위치에 파일, /var/lib/mysql-files/.

선택하다 제목,작가,발행자 에서 서적 안으로 아웃파일 '/var/lib/mysql-files/books.csv';

내보내기 위치로 이동하여 파일이 생성되지 않았는지 확인합니다. 파일을 클릭하면 파일의 내용이 표시됩니다. 쉼표가 테이블의 필드 값 내용으로 존재하는 경우 값을 여러 값으로 구분합니다. 에서 서적 테이블, 발행자 필드는 세 번째 레코드의 내용으로 쉼표(,)를 포함합니다. CSV 파일의 내용을 살펴보면 게시자 내용이 적절하지 않은 두 개의 값으로 분리되어 있음을 알 수 있습니다.

위의 문제를 해결하기 위해 다음을 내보낼 수 있습니다. 서적 SQL 문에서 필요한 구분 기호를 적절하게 지정하여 테이블 데이터를 CSV 파일로 변환합니다. 다음 명령을 실행하여 내보내기 서적 테이블에 책2.csv 적절하게 파일을 작성하십시오. 여기에서 데이터를 제대로 내보내기 위해 세 개의 구분 기호가 사용됩니다. 이것들은 에 의해 종료된 필드 , 에 의해 동봉 그리고 에 의해 종료된 회선 .

선택하다 제목,작가,발행자 에서 서적
안으로 아웃파일 '/var/lib/mysql-files/books2.csv'
필드 해지자 ','
에 의해 동봉 '' '
윤곽 해지자 'N';

이제 개봉하면 책2.csv 파일을 열면 이 파일에서 이전 문제가 해결된 것을 볼 수 있으며 데이터는 쉼표(,)가 여러 값으로 나뉘지 않습니다.

mysql 클라이언트를 사용하여 CSV 형식으로 데이터 내보내기:

테이블 데이터는 mysql 클라이언트를 사용하여 CSV 파일로 내보낼 수 있습니다. 이 문서의 이 부분에서 차용자 테이블을 내보냅니다. 다음 명령을 실행하여 이 테이블의 기존 내용을 확인하십시오.

선택하다 * 에서 차용인;

mysql 진술 '하지만' 여기에서 명령을 사용하여 데이터를 내보냅니다. 이 명령문의 이점 중 하나는 이전 예에서 사용된 기본 위치 없이 CSV 파일을 저장하기 위해 임의의 위치와 파일 이름을 설정할 수 있다는 것입니다. 루트 사용자에 대한 암호가 없는 경우 -NS 옵션은 생략됩니다. 내보낸 위치는 /tmp 파일 이름은 출력.csv 여기.

mysql-h 로컬 호스트-당신은 루트-NS-그리고'library.borrowers에서 * 선택' |
세드'NS/NS/,/NS' > /시간/출력.csv

개봉하면 출력.csv 파일을 열면 다음 출력이 나타납니다.

phpmyadmin을 사용하여 CSV 형식으로 데이터 내보내기:

데이터베이스 관리 도구를 사용하여 데이터베이스 테이블을 CSV 파일로 매우 쉽게 내보낼 수 있습니다. 내보내기를 수행하기 전에 도구를 설치해야 합니다. phpmyadmin 여기에서 테이블을 CSV 파일로 내보내는 데 사용됩니다. 여기서 내보낸 파일 이름은 테이블의 이름이 됩니다. MySQL 서버의 기존 데이터베이스 목록을 표시하려면 브라우저에서 다음 URL을 실행하십시오.

http://localhost/phpmyadmin

내보낼 데이터베이스의 테이블을 선택하고 내 보내다 오른쪽에서 탭. 에서 CSV 형식을 선택합니다. 체재 드롭다운 목록을 클릭하고 이동 단추. 선택 파일을 저장 옵션을 누르고 확인 단추.


파일은 다운로드 폴더. 여기, book_borrow_info 테이블을 내보냅니다. 따라서 CSV 파일 이름은 book_borrow_info.csv 그리고 파일을 열면 아래와 같은 내용이 나옵니다.

결론:

데이터베이스 서버의 내보내기 기능을 사용하면 애플리케이션 간의 데이터 교환 작업이 더 쉬워집니다. MySQL은 테이블 데이터를 내보내기 위해 다른 많은 파일 형식을 지원합니다. SQL 파일 형식은 주로 동일한 데이터베이스 서버 간에 데이터를 전송하는 데 사용됩니다. CSV 형식은 서로 다른 두 응용 프로그램 간에 데이터를 교환하려는 경우 매우 유용합니다.