Como exportar arquivos de dados do banco de dados Linux MySQL?comando de instrução de exportação csv

Linux banco de dados MySQLComo exportar arquivos de dados?comando de instrução de exportação csv

MySQLexportar dados de dados

No MySQL você pode usarSELECIONE … EM OUTFILEinstrução para simplesmente exportar dados para um arquivo de texto.


Exportar dados usando a instrução SELECT ... INTO OUTFILE

No exemplo a seguir, exportaremos a tabela de dados para o arquivo /tmp/tutorials.txt:

mysql > SELECT * FROM chenweiliang_tbl 
     - > INTO OUTFILE '/tmp/tutorials.txt' ;

Você pode definir o formato especificado de saída de dados por meio de opções de comando. O exemplo a seguir é para exportar o formato CSV:

mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
    
    

No exemplo abaixo, é gerado um arquivo com valores separados por vírgulas.Este formato pode ser usado por muitos programas.

SELECT a b a + b INTO OUTFILE '/tmp/result.text'FIELDS 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行
终止'\ 
n'FROM test_table ;

A instrução SELECT ... INTO OUTFILE possui os seguintes atributos:

  • LOAD DATA INFILE é a operação inversa da sintaxe SELECT ... INTO OUTFILE, SELECT.Para gravar dados de um banco de dados em um arquivo, use SELECT ... INTO OUTFILE e, para ler o arquivo de volta no banco de dados, use LOAD DATA INFILE.
  • SELECT ... INTO OUTFILE Um SELECT da forma 'file_name' pode escrever as linhas selecionadas em um arquivo.O arquivo é criado no host do servidor, então você deve ter permissão FILE para usar esta sintaxe.
  • A saída não pode ser um arquivo existente.Evite que os dados do arquivo sejam adulterados.
  • Você precisa ter uma conta para fazer login no servidor para recuperar arquivos.Caso contrário, SELECT ... INTO OUTFILE não terá efeito.
  • No UNIX, o arquivo é criado para ser legível e as permissões são de propriedade do servidor MySQL.Isso significa que, embora você possa ler o arquivo, talvez não consiga excluí-lo.

Exportar tabela como dados brutos

Ele produz principalmente um script SQL contendo os comandos CREATE TABLE INSERT etc. necessários para recriar o banco de dados do zero.

Para exportar dados usando mysqldump, você precisa usar a opção –tab para especificar o diretório especificado pelo arquivo de exportação e o destino deve ser gravável.

O exemplo a seguir exporta a tabela de dados chenweiliang_tbl para o diretório /tmp:

$ mysqldump - u root - p - no - create - info
             - tab = / tmp chenweiliang chenweiliang_tbl
密码******

Exportar dados em formato SQL

Exporte dados no formato SQL para o arquivo especificado, da seguinte forma:

$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 文本 
密码******

O conteúdo do arquivo criado pelo comando acima é o seguinte:

- 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' );

Se você precisar exportar os dados de todo o banco de dados, poderá usar o seguinte comando:

$ mysqldump - u root - p chenweiliang > database_dump 文本
密码******

Se você precisar fazer backup de todos os bancos de dados, poderá usar o seguinte comando:

$ mysqldump - u root - p - all - databases > database_dump 文本
密码******

A opção --all-databases foi adicionada no MySQL 3.23.12 e posteriores.

Este método pode ser usado para implementar uma estratégia de backup de banco de dados.


Copie tabelas de dados e bancos de dados para outros hosts

Se você precisar copiar dados para outro servidor MySQL, poderá especificar o nome e a tabela do banco de dados no comando mysqldump.

Execute o seguinte comando no host de origem para fazer backup dos dados no arquivo dump.txt:

$ mysqldump - u root - p database_name table_name > dump 文本 
密码*****

Se você fizer backup completo do banco de dados, não precisará usar um nome de tabela específico.

Se você precisar importar o banco de dados de backup para o servidor MySQL, você pode usar o seguinte comando, usando o seguinte comando você precisa confirmar que o banco de dados foi criado:

$ mysql - u root - p database_name < dump 文本 
密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > 
$ mysqldump的- ü根- p DATABASE_NAME \
        | mysql - h other - host com database_name

O comando acima usa um pipe para importar os dados exportados para o host remoto especificado.

发表 评论

Seu endereço de e-mail não será publicado. 必填 项 已 用 * 标注

Voltar ao Topo