テーブルまたはデータをエクスポートする

phpMyAdmin を使って MySQL に作成済みのテーブルをエクスポートする方法について解説します。テーブル単位の他に、テーブルに格納されている選択したデータだけをエクスポートすることも可能です。

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

テーブルをエクスポートする

データベースの中の特定のテーブルをエクスポートする方法です。 phpMyAdmin に管理者ユーザーでログインして下さい。

テーブルをエクスポートする(1)

画面上部に表示されている「データベース」をクリックしてください。

テーブルをエクスポートする(2)

データベースの管理画面が表示されます。作成済みのデータベースの一覧が表示されます。

テーブルをエクスポートする(3)

今回エクスポートするテーブルが追加されているデータベース名をクリックしてください。

テーブルをエクスポートする(4)

テーブルの管理画面が表示されます。対象のデータベースに追加されているテーブルの一覧が表示されます。

テーブルをエクスポートする(5)

エクスポートするテーブルにチェックを付けてください。そのあとでテーブルの一覧の下にあるドロップダウンメニューをクリックし、表示されたメニューの中から「エクスポート」をクリックしてください。

テーブルをエクスポートする(6)

テーブルをエクスポートする画面が表示されます。

テーブルをエクスポートする(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
XML
YAML

今回は SQL を選択しました。

テーブルをエクスポートする(9)

なお「エクスポート方法」のブロックで「詳細 - 可能なオプションをすべて表示」を選択すると、選択中のフォーマットで設定可能なより詳細な設定項目の一覧が表示されます。

テーブルをエクスポートする(10)

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

テーブルをエクスポートする(11)

対象のテーブルが SQL のフォーマットでファイルにエクスポートされました。今回の場合、ファイル名は personal.sql で、作成されたファイルは自動的にダウンロードされますので任意の場所に保存しておいてください。テーブルのエクスポートはこれで完了です。

エクスポートされたファイルを確認する

先ほど SQL 形式でエクスポートしたファイルはテキストファイルで、テキストエディタで開いてみると次のように表示されます。

-- phpMyAdmin SQL Dump
-- version 5.1.1
-- https://www.phpmyadmin.net/
--
-- ホスト: localhost
-- 生成日時: 2021-07-06 19:19:23
-- サーバのバージョン: 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`
--

-- --------------------------------------------------------

--
-- テーブルの構造 `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);

--
-- ダンプしたテーブルのインデックス
--

--
-- テーブルのインデックス `friends`
--
ALTER TABLE `friends`
  ADD PRIMARY KEY (`id`);

--
-- ダンプしたテーブルの AUTO_INCREMENT
--

--
-- テーブルの AUTO_INCREMENT `friends`
--
ALTER TABLE `friends`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
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 */;

SQL 形式でエクスポートした場合、ダウンロードしたファイルに記載されている SQL 文を順に実行していくことで、元のテーブルと同じテーブルが作成できるようになっています。

テーブルのデータをエクスポートする

テーブルに追加されているデータだけをエクスポートすることもできます。先ほどと同じ手順でテーブルの管理画面を表示してください。

テーブルのデータをエクスポートする(1)

エクスポートするデータが追加されているテーブル名をクリックしてください。

テーブルのデータをエクスポートする(2)

対象のテーブルに追加されているデータの一覧が表示されます。

テーブルのデータをエクスポートする(3)

エクスポートするデータのチェックをしてください。そのあとで、データの一覧の下に表示されている「エクスポート」をクリックしてください。

テーブルのデータをエクスポートする(4)

テーブルのデータをエクスポートする(5)

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

テーブルのデータをエクスポートする(6)

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

テーブルのデータをエクスポートする(7)

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

CodeGen
CSV
CSV for MS Excel
JSON
LaTex
MediaWiki Table
Microsoft Word 2000
OpenDocument Spreadsheet
OpenDocument Text
PDF
PHP array
SQL
Texy! text
XML
YAML

今回は SQL を選択しました。

テーブルをエクスポートする(8)

なお「エクスポート方法」のブロックで「詳細 - 可能なオプションをすべて表示」を選択すると、選択中のフォーマットで設定可能なより詳細な設定項目の一覧が表示されます。

テーブルをエクスポートする(9)

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

テーブルをエクスポートする(10)

対象のデータが SQL のフォーマットでファイルにエクスポートされました。今回の場合、ファイル名は friends.sql で、作成されたファイルは自動的にダウンロードされますので任意の場所に保存しておいてください。テーブルのデータのエクスポートはこれで完了です。

エクスポートされたファイルを確認する

先ほど SQL 形式でエクスポートしたファイルはテキストファイルで、テキストエディタで開いてみると次のように表示されます。

-- phpMyAdmin SQL Dump
-- version 5.1.1
-- https://www.phpmyadmin.net/
--
-- ホスト: localhost
-- 生成日時: 2021-07-06 19:37:44
-- サーバのバージョン: 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`
--

-- --------------------------------------------------------

--
-- テーブルの構造 `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
(2, 'Takahashi', 21),
(3, 'Honda', 34),
(4, 'Endou', 18);

--
-- ダンプしたテーブルのインデックス
--

--
-- テーブルのインデックス `friends`
--
ALTER TABLE `friends`
  ADD PRIMARY KEY (`id`);

--
-- ダンプしたテーブルの AUTO_INCREMENT
--

--
-- テーブルの AUTO_INCREMENT `friends`
--
ALTER TABLE `friends`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
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 */;

テーブルを作成するための CREATE TABLE 文とテーブルに格納されているデータの中で選択したデータを追加するための INSERT INTO 文が記述されています。テーブルのデータをエクスポートしましたがテーブルを作成する SQL 文も含まれていました。

-- --

phpMyAdmin を使って MySQL に作成済みのテーブルをエクスポートする方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。