データベースをエクスポートする

phpMyAdmin を使って MySQL に作成済みのデータベースをエクスポートする方法について解説します。エクスポートするときはフォーマットとして SQL や CSV などが選択できます。

(2021 年 07 月 06 日公開 / 2022 年 04 月 08 日更新)

データベースをエクスポートする

新しいデータベースを作成します。 phpMyAdmin に管理者ユーザーでログインして下さい。

データベースをエクスポートする(1)

画面上部に表示されている「エクスポート」をクリックして下さい。

データベースをエクスポートする(2)

データベースをエクスポートする画面が表示されます。

データベースをエクスポートする(3)

デフォルトではエクスポート可能なすべてのデータベースをエクスポートします。特定のデータベースだけをエクスポートする場合は、「エクスポート方式」で「詳細」を選択してください。

データベースをエクスポートする(4)

エクスポートに関する詳細な設定画面が表示されます。

データベースをエクスポートする(5)

データベースをエクスポートする(6)

数多くの設置項目が表示されますが、ここではエクスポートするデータベースの選択だけを行います。「データベース」のブロックでエクスポートするデータベースをクリックして選択してください。複数選択する場合は Ctrl キーを押しながらクリックしてください。

データベースをエクスポートする(7)

次にエクスポートするフォーマットを選択します。「フォーマット」のブロックにあるドロップダウンメニュをクリックするとフォーマットを選択できます。

データベースをエクスポートする(8)

選択可能なフォーマットは次のとおりです。

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 を選択してください。

データベースをエクスポートする(9)

設定が完了したら画面右下にある「実行」をクリックしてください。

データベースをエクスポートする(10)

対象のデータベースが 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 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。