テーブルまたはデータをエクスポートする
phpMyAdmin を使って MySQL に作成済みのテーブルをエクスポートする方法について解説します。テーブル単位の他に、テーブルに格納されている選択したデータだけをエクスポートすることも可能です。
(2021 年 07 月 07 日公開 / 2022 年 04 月 08 日更新)
テーブルをエクスポートする
データベースの中の特定のテーブルをエクスポートする方法です。 phpMyAdmin に管理者ユーザーでログインして下さい。
画面上部に表示されている「データベース」をクリックしてください。
データベースの管理画面が表示されます。作成済みのデータベースの一覧が表示されます。
今回エクスポートするテーブルが追加されているデータベース名をクリックしてください。
テーブルの管理画面が表示されます。対象のデータベースに追加されているテーブルの一覧が表示されます。
エクスポートするテーブルにチェックを付けてください。そのあとでテーブルの一覧の下にあるドロップダウンメニューをクリックし、表示されたメニューの中から「エクスポート」をクリックしてください。
テーブルをエクスポートする画面が表示されます。
エクスポートするフォーマットを選択します。「フォーマット」のブロックにあるドロップダウンメニュをクリックするとフォーマットを選択できます。
選択可能なフォーマットは次のとおりです。
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 を選択しました。
なお「エクスポート方法」のブロックで「詳細 - 可能なオプションをすべて表示」を選択すると、選択中のフォーマットで設定可能なより詳細な設定項目の一覧が表示されます。
設定が完了したら画面右下にある「実行」をクリックしてください。
対象のテーブルが 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 文を順に実行していくことで、元のテーブルと同じテーブルが作成できるようになっています。
テーブルのデータをエクスポートする
テーブルに追加されているデータだけをエクスポートすることもできます。先ほどと同じ手順でテーブルの管理画面を表示してください。
エクスポートするデータが追加されているテーブル名をクリックしてください。
対象のテーブルに追加されているデータの一覧が表示されます。
エクスポートするデータのチェックをしてください。そのあとで、データの一覧の下に表示されている「エクスポート」をクリックしてください。
テーブルのデータをエクスポートする画面が表示されます。
エクスポートするフォーマットを選択します。「フォーマット」のブロックにあるドロップダウンメニュをクリックするとフォーマットを選択できます。
選択可能なフォーマットは次のとおりです。
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 を選択しました。
なお「エクスポート方法」のブロックで「詳細 - 可能なオプションをすべて表示」を選択すると、選択中のフォーマットで設定可能なより詳細な設定項目の一覧が表示されます。
設定が完了したら画面右下にある「実行」をクリックしてください。
対象のデータが 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 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。