データベースをエクスポートする
phpMyAdmin を使って MySQL に作成済みのデータベースをエクスポートする方法について解説します。エクスポートするときはフォーマットとして SQL や CSV などが選択できます。
(2021 年 07 月 06 日公開 / 2022 年 04 月 08 日更新)
データベースをエクスポートする
新しいデータベースを作成します。 phpMyAdmin に管理者ユーザーでログインして下さい。
画面上部に表示されている「エクスポート」をクリックして下さい。
データベースをエクスポートする画面が表示されます。
デフォルトではエクスポート可能なすべてのデータベースをエクスポートします。特定のデータベースだけをエクスポートする場合は、「エクスポート方式」で「詳細」を選択してください。
エクスポートに関する詳細な設定画面が表示されます。
数多くの設置項目が表示されますが、ここではエクスポートするデータベースの選択だけを行います。「データベース」のブロックでエクスポートするデータベースをクリックして選択してください。複数選択する場合は Ctrl キーを押しながらクリックしてください。
次にエクスポートするフォーマットを選択します。「フォーマット」のブロックにあるドロップダウンメニュをクリックするとフォーマットを選択できます。
選択可能なフォーマットは次のとおりです。
CodeGen CSV CSV for MS Excel JSON LaTex MediaWiki Table Microsoft Word 2000 OpenDocument Spreadsheet OpenDocument Text PDF PHP array SQL Texy! text YAML
データベースのバックアップを目的としてエクスポートする場合は、フォーマットとして SQL を選択してください。
設定が完了したら画面右下にある「実行」をクリックしてください。
対象のデータベースが SQL のフォーマットでファイルにエクスポートされました。今回の場合、ファイル名は localhost.sql で作成されたファイルは自動的にダウンロードされますので任意の場所に保存しておいてください。データベースのエクスポートはこれで完了です。
フォーマット毎のファイルの内容を確認する
データベースをエクスポートするときにフォーマットはいくつか選択可能でした。ここではフォーマットとして SQL , CSV , JSON を選択した場合に、実際にどのようなファイルがダウンロードされるのかを確認してみます。
SQLフォーマットでデータベースをエクスポートした場合
先ほど実際に試したように、フォーマットとして SQL を選択した場合、エクスポートしたデータは localhost.sql というファイル名でダウンロードされました。ファイルはテキストファイルで、テキストエディタで開いてみると次のように表示されます。
-- phpMyAdmin SQL Dump -- version 5.1.1 -- https://www.phpmyadmin.net/ -- -- ホスト: localhost -- 生成日時: 2021-07-06 11:54:37 -- サーバのバージョン: 8.0.25 -- PHP のバージョン: 8.0.8 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- データベース: `personal` -- CREATE DATABASE IF NOT EXISTS `personal` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; USE `personal`; -- -------------------------------------------------------- -- -- テーブルの構造 `friends` -- CREATE TABLE `friends` ( `id` int NOT NULL, `name` varchar(20) NOT NULL, `age` int NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -- -- テーブルのデータのダンプ `friends` -- INSERT INTO `friends` (`id`, `name`, `age`) VALUES (1, 'Suzuki', 27), (2, 'Takahashi', 21), (3, 'Honda', 34), (4, 'Endou', 18), (5, 'Kojima', 25), (6, 'Yasuda', 40); -- -------------------------------------------------------- -- -- テーブルの構造 `works` -- CREATE TABLE `works` ( `id` int NOT NULL, `name` varchar(20) NOT NULL, `company` varchar(20) NOT NULL, `old` int NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -- -- テーブルのデータのダンプ `works` -- INSERT INTO `works` (`id`, `name`, `company`, `old`) VALUES (1, 'Yamaoka', 'Yama Inc.', 34), (2, 'Uchiyama', 'ABC Inc.', 28), (3, 'Takahashi', 'Moter Inc.', 40); -- -- ダンプしたテーブルのインデックス -- -- -- テーブルのインデックス `friends` -- ALTER TABLE `friends` ADD PRIMARY KEY (`id`); -- -- テーブルのインデックス `works` -- ALTER TABLE `works` ADD PRIMARY KEY (`id`); -- -- ダンプしたテーブルの AUTO_INCREMENT -- -- -- テーブルの AUTO_INCREMENT `friends` -- ALTER TABLE `friends` MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7; -- -- テーブルの AUTO_INCREMENT `works` -- ALTER TABLE `works` MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
personal データベースには 2 つのテーブルが追加されており、それぞれのテーブルにはいくつかのデータが追加されています。 SQL 形式でエクスポートした場合、ダウンロードしたファイルに記載されている SQL 文を順に実行していくことで、元のデータベースと同じデータベースが作成できるようになっています。
CSVフォーマットでデータベースをエクスポートした場合
フォーマットとして CSV を選択した場合、エクスポートしたデータは localhost.csv というファイル名でダウンロードされました。ファイルはテキストファイルで、テキストエディタで開いてみると次のように表示されます。
"id","name","age" "1","Suzuki","27" "2","Takahashi","21" "3","Honda","34" "4","Endou","18" "5","Kojima","25" "6","Yasuda","40" "id","name","company","old" "1","Yamaoka","Yama Inc.","34" "2","Uchiyama","ABC Inc.","28" "3","Takahashi","Moter Inc.","40"
personal データベースには 2 つのテーブルが追加されており、それぞれのテーブルにはいくつかのデータが追加されています。 CSV 形式でエクスポートした場合、ダウンロードしたファイルは 2 つのテーブルのそれぞれのカラム名とデータのみが CSV 形式で記載されています。
JSONフォーマットでデータベースをエクスポートした場合
フォーマットとして JSON を選択した場合、エクスポートしたデータは localhost.json というファイル名でダウンロードされました。ファイルはテキストファイルで、テキストエディタで開いてみると次のように表示されます。
[ {"type":"header","version":"5.1.1","comment":"Export to JSON plugin for PHPMyAdmin"}, {"type":"database","name":"personal"}, {"type":"table","name":"friends","database":"personal","data": [ {"id":"1","name":"Suzuki","age":"27"}, {"id":"2","name":"Takahashi","age":"21"}, {"id":"3","name":"Honda","age":"34"}, {"id":"4","name":"Endou","age":"18"}, {"id":"5","name":"Kojima","age":"25"}, {"id":"6","name":"Yasuda","age":"40"} ] } ,{"type":"table","name":"works","database":"personal","data": [ {"id":"1","name":"Yamaoka","company":"Yama Inc.","old":"34"}, {"id":"2","name":"Uchiyama","company":"ABC Inc.","old":"28"}, {"id":"3","name":"Takahashi","company":"Moter Inc.","old":"40"} ] } ]
personal データベースには 2 つのテーブルが追加されており、それぞれのテーブルにはいくつかのデータが追加されています。 JSON 形式でエクスポートした場合、ダウンロードしたファイルには データベースの名前、テーブルの名前、テーブルに含まれるデータが JSON 形式で記載されています。
-- --
phpMyAdmin を使って MySQL に作成済みのデータベースをエクスポートする方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。