記事ディレクトリ
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 チャンネルにぜひご参加ください。
気に入ったらシェアして「いいね!」してください!あなたのシェアと「いいね!」が私たちの継続的なモチベーションです。