기사 디렉토리
Linux MySQL 데이터베이스데이터 파일을 내보내는 방법?csv 문 명령 내보내기
MySQL의데이터 데이터 내보내기
MySQL에서는 다음을 사용할 수 있습니다.SELECT ... INTO OUTFILE단순히 데이터를 텍스트 파일로 내보내는 문.
SELECT ... INTO OUTFILE 문을 사용하여 데이터 내보내기
다음 예에서는 데이터 테이블을 /tmp/tutorials.txt 파일로 내보냅니다.
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
명령 옵션을 통해 데이터 출력의 지정된 형식을 설정할 수 있습니다. 다음 예는 CSV 형식으로 내보내기 위한 것입니다.
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
아래 예에서는 쉼표로 구분된 값으로 파일이 생성됩니다.이 형식은 많은 프로그램에서 사용할 수 있습니다.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
SELECT ... INTO OUTFILE 문에는 다음 속성이 있습니다.
- LOAD DATA INFILE은 SELECT ... INTO OUTFILE, SELECT 구문의 반대 연산입니다.데이터베이스에서 파일로 데이터를 쓰려면 SELECT ... INTO OUTFILE을 사용하고 파일을 다시 데이터베이스로 읽으려면 LOAD DATA INFILE을 사용합니다.
- SELECT ... INTO OUTFILE 'file_name' 형식의 SELECT는 선택한 행을 파일에 쓸 수 있습니다.파일은 서버 호스트에서 생성되므로 이 구문을 사용하려면 FILE 권한이 있어야 합니다.
- 출력은 기존 파일일 수 없습니다.파일 데이터가 변조되는 것을 방지합니다.
- 파일을 검색하기 위해 서버에 로그인하려면 계정이 필요합니까?그렇지 않으면 SELECT ... INTO OUTFILE이 적용되지 않습니다.
- UNIX에서 파일은 읽을 수 있도록 생성되며 권한은 MySQL 서버가 소유합니다.즉, 파일을 읽을 수는 있지만 삭제할 수는 없습니다.
테이블을 원시 데이터로 내보내기
주로 데이터베이스를 처음부터 다시 만드는 데 필요한 CREATE TABLE INSERT 등의 명령을 포함하는 SQL 스크립트를 생성합니다.
mysqldump를 사용하여 데이터를 내보내려면 -tab 옵션을 사용하여 내보내기 파일에서 지정한 디렉터리를 지정해야 하며 대상이 쓰기 가능해야 합니다.
다음 예는 데이터 테이블 chenweiliang_tbl을 /tmp 디렉토리로 내보냅니다.
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
SQL 형식으로 데이터 내보내기
다음과 같이 SQL 형식의 데이터를 지정된 파일로 내보냅니다.
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
위의 명령어로 생성된 파일의 내용은 다음과 같다.
- MySQL 转储8.23 - - 主机:localhost 数据库:chenweiliang ----------------------------------- ---------------------- - 服务器版本 3.23 。58 - - 表结构为表`chenweiliang_tbl` - CREATE TABLE chenweiliang_tbl ( chenweiliang_id INT (11 )NOT NULL的auto_increment , chenweiliang_title VARCHAR (100 )NOT NULL 默认'' , chenweiliang_author VARCHAR (40 )NOT NULL 默认'' , submission_date日期默认NULL , PRIMARY KEY (chenweiliang_id ), UNIQUE KEY AUTHOR_INDEX (chenweiliang_author ))TYPE = MyISAM ; - - 转储数据的表`chenweiliang_tbl` - INSERT INTO chenweiliang_tbl VALUES (1 ,'Learn PHP' ,'John Poul' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (2 ,'学习MySQL' ,'Abdul S' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (3 ,'JAVA Tutorial' ,'Sanjay' ,'2007-05-06' );
전체 데이터베이스의 데이터를 내보내야 하는 경우 다음 명령을 사용할 수 있습니다.
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
모든 데이터베이스를 백업해야 하는 경우 다음 명령을 사용할 수 있습니다.
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
--all-databases 옵션은 MySQL 3.23.12 이상에서 추가되었습니다.
이 방법은 데이터베이스 백업 전략을 구현하는 데 사용할 수 있습니다.
데이터 테이블 및 데이터베이스를 다른 호스트에 복사
데이터를 다른 MySQL 서버로 복사해야 하는 경우 mysqldump 명령에서 데이터베이스 이름과 테이블을 지정할 수 있습니다.
소스 호스트에서 다음 명령을 실행하여 데이터를 dump.txt 파일에 백업합니다.
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
데이터베이스 전체를 백업하는 경우 특정 테이블 이름을 사용할 필요가 없습니다.
백업 데이터베이스를 MySQL 서버로 가져와야 하는 경우 다음 명령을 사용하여 데이터베이스가 생성되었는지 확인해야 합니다.
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
위의 명령은 파이프를 사용하여 내보낸 데이터를 지정된 원격 호스트로 가져옵니다.
희망 첸 웨이량 블로그( https://www.chenweiliang.com/ ) 공유 "Linux MySQL 데이터베이스에서 데이터 파일을 내보내는 방법은 무엇입니까?csv 문 명령 내보내기"가 도움이 됩니다.
이 기사의 링크를 공유하는 것을 환영합니다:https://www.chenweiliang.com/cwl-501.html
더 많은 숨겨진 트릭을 알아보려면🔑 Telegram 채널에 가입하세요!
마음에 드셨다면 공유하고 좋아요를 눌러주세요! 여러분의 공유와 좋아요는 저희의 지속적인 원동력이 됩니다!