Linux MySQL データベースからデータ ファイルをエクスポートする方法は?export csv ステートメント コマンド

Linux MySQL データベースデータファイルをエクスポートするには?export csv ステートメント コマンド

MySQLデータ データのエクスポート

MySQLでは、使用できます選択 … 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

上記のコマンドは、パイプを使用して、エクスポートされたデータを指定されたリモート ホストにインポートします。

Hope Chen Weiliang ブログ ( https://www.chenweiliang.com/ ) 共有 "Linux MySQL データベースからデータ ファイルをエクスポートするにはどうすればよいですか?Export csv statement コマンド」が役立ちます。

この記事のリンクを共有することを歓迎します。https://www.chenweiliang.com/cwl-501.html

さらに多くの隠されたトリックのロックを解除するには、Telegram チャンネルにぜひご参加ください。

気に入ったらシェアして「いいね!」してください!あなたのシェアと「いいね!」が私たちの継続的なモチベーションです。

 

发表评论

バグのあるボックスの内容は公開されません。 必須アイテム * 标注

上へスクロール