インポートとエクスポート

インポート

データをインポートするには、 phpMyAdmin の [インポート] タブを開いてください。特定のデータベースやテーブルにデータをインポートするには、データベースまたはテーブルを開いてから [インポート] タブを開いてください。

標準の [インポート] および [エクスポート] タブのほかに、ブラウザの phpMyAdmin インタフェースにファイルマネージャから SQL ファイルを直接ドラッグ&ドロップすることもできます。

大きなファイルのインポートで問題が発生した場合は、「 1.16 (メモリ、HTTP、タイムアウトのせいで) 大きなダンプファイルをアップロードできません。」を参照してください。

以下の方法でインポートを行うことができます。

フォームベースのアップロード

対応している任意のファイル形式を、 (b|g)zip ファイル (例えば mydump.sql.gz) を含め使用することができます。

フォームベースの SQL クエリ

有効な SQL ダンプが利用できます。

アップロードディレクトリの使用

phpMyAdmin がインストールされているウェブサーバ上のアップロードディレクトリを指定することができます。このディレクトリにファイルをアップロードした後、 phpMyAdmin のインポートダイアログでこのファイルを選択することができます、 $cfg['UploadDir'] を参照してください。

phpMyAdmin はよく使われる様々なファイル形式からインポートすることができます。

CSV

カンマ区切りファイル形式は、スプレッドシートやその他の様々なプログラムで、エクスポートやインポートによく使用されます。

注釈

CSV ファイルから 'auto_increment' フィールドを持つテーブルにデータをインポートするとき、CSV フィールド内のそれぞれのレコードで 'auto_increment' 値を '0' (ゼロ) に設定してください。これによって 'auto_increment' フィールドが正しく生成されるようになります。

サーバやデータベースレベルで CSV ファイルをインポートできるようになりました。 CSV ファイルをインポートするためのテーブルを作成しなくても、最適な構造が決定され、データがインポートされます。その他の機能、要件、制限事項は従来通りです。

LOAD DATA 文を使用した CSV の読み込み

CSV と同様、内蔵の MySQL パーサのみを使用し、 phpMyAdmin のものは使用しません。

ESRI シェープファイル

ESRI シェイプファイルまたは単にシェイプファイルは、地理情報システム (GIS) ソフトウェアのための一般的な地理空間ベクトルデータフォーマットです。 Esri と他のソフトウェア製品間のデータ相互運用のための (ほぼ) オープンな仕様として、 Esri が開発・規定しています。

MediaWiki

phpMyAdmin (バージョン 4.0 以降) でエクスポートできる MediaWiki ファイルもインポートできるようになりました。これは Wikipedia が表を表示するために使用しているファイル形式です。

Open Document スプレッドシート (ODS)

1 つ以上のスプレッドシートを含む OpenDocument ワークブックが直接インポートできるようになりました。

ODS スプレッドシートをインポートするときは、インポートをできるだけ簡単にするために、スプレッドシートに特定の名前を付ける必要があります。

テーブル名

インポート中、 phpMyAdmin はシート名をテーブル名として使用します。スプレッドシートプログラムでシート名を既存のテーブル名 (または作成したいテーブル名) と一致するように、変更する必要があります (ただし、操作タブから新しいテーブル名をすぐに変更できるので、これはあまり気にしなくてもよいでしょう)。

カラム名

また、スプレッドシートの最初の行には、列の名前が記載されたヘッダーを作成する必要があります (これは、スプレッドシートの最上部に新しい行を挿入することで実現できます)。インポート画面で、「ファイルの最初の行にテーブルのカラム名が含まれている」のチェックボックスを選択してください。

注釈

数式や計算は評価されず、直近で保存された値が読み込まれます。インポートする前にスプレッドシートのすべての値があることを確認してください。

SQL

SQL を使用してデータに対して任意の操作を行うことができ、またバックアップしたデータを復元する場合にも役立ちます。

XML

phpMyAdmin (バージョ ン3.3.0 以降)によってエクスポートされた XML ファイルがインポートできるようになりました。構造 (データベース、テーブル、ビュー、トリガーなど) やデータは、ファイルの内容に応じて作成されます。

対応している XML スキーマはこの Wiki では文書化されていません。

エクスポート

phpMyAdminは、ローカルディスク (またはウェブサーバの特別な $cfg['SaveDir'] フォルダ) 上のテキストファイル (圧縮されている場合でも) に、一般的に使用されるさまざまな形式でエクスポートできます。

CodeGen

NHibernate ファイル形式です。計画されているバージョンは Java、Hibernate、 PHP PDO、 JSON などです。したがって、仮の名前は codegen です。

CSV

カンマ区切りファイル形式は、スプレッドシートやその他の様々なプログラムで、エクスポートやインポートによく使用されます。

MS Excel 用 CSV

これは多くの Microsoft Excel の英語版のほとんどにインポートできる CSV エクスポートが事前構成されただけのものです。一部のローカライズ版 (デンマーク語など) はフィールド区切りに "," ではなく ";" が必要です。

Microsoft Word 2000

Microsoft Word 2000 以降 (または OpenOffice.org などの互換製品) を使用している場合は、このエクスポートが利用できます。

JSON

JSON (JavaScript Object Notation) は、軽量のデータ交換形式です。人間にとって読み書きしやすく、機械にとって解釈や生成がしやすいものです。

バージョン 4.7.0 で変更: 生成される JSON の構造は、 phpMyAdmin 4.7.0 で妥当な JSON データを出力するために変更されました。

生成される JSON は、以下の属性を持ったオブジェクトのリストです。

type

このオブジェクトの型で、次のうちのいずれか1つです。

header
コメントと phpMyAdmin のバージョンを含むエクスポートヘッダです。
database
データベースマーカの開始で、データベースの名前を含みます。
table
エクスポートするテーブルのデータです。
version

header type で使用され、 phpMyAdmin のバージョンを示します。

comment

オプションのテキストによるコメントです。

name

オブジェクト名です。 type によってテーブル名またはデータベース名になります。

database

table type の場合のデータベース名です。

data

table type の場合のテーブルの内容です。

出力例:

[
    {
        "comment": "Export to JSON plugin for PHPMyAdmin",
        "type": "header",
        "version": "4.7.0-dev"
    },
    {
        "name": "cars",
        "type": "database"
    },
    {
        "data": [
            {
                "car_id": "1",
                "description": "Green Chrysler 300",
                "make_id": "5",
                "mileage": "113688",
                "price": "13545.00",
                "transmission": "automatic",
                "yearmade": "2007"
            }
        ],
        "database": "cars",
        "name": "cars",
        "type": "table"
    },
    {
        "data": [
            {
                "make": "Chrysler",
                "make_id": "5"
            }
        ],
        "database": "cars",
        "name": "makes",
        "type": "table"
    }
]

LaTeX

テーブルのデータや構造を LaTeX に埋め込みたいのであれば、これが正しい選択です。

LaTeX は高品質の科学および数学の文書を生成するのに最適な組版システムです。これは単一の文字から完全な本まで、他の種類の文書を生成するのにも適しています。 LaTeX は整形エンジンに TeX を使用しています。 TeX および LaTeX についての詳細は the Comprehensive TeX Archive Network および short description od TeX を参照してください。

出力をレンダリングする前に、出力を LaTeX ドキュメントに埋め込む必要があります。以下にドキュメントの例を挙げます。

\documentclass{article}
\title{phpMyAdmin SQL output}
\author{}
\usepackage{longtable,lscape}
\date{}
\setlength{\parindent}{0pt}
\usepackage[left=2cm,top=2cm,right=2cm,nohead,nofoot]{geometry}
\pdfpagewidth 210mm
\pdfpageheight 297mm
\begin{document}
\maketitle

% insert phpMyAdmin LaTeX Dump here

\end{document}

MediaWiki

テーブルとデータベースの両方を、ウィキペディアが表を表示するために使用する MediaWiki 形式でエクスポートすることができます。エクスポートできるものは構造、データ、テーブル名、ヘッダなどです。

OpenDocument スプレッドシート

広く採用されているスプレッドシートデータのオープン標準です。 LibreOffice、 OpenOffice、 Microsoft Office、 Google Docs などの最近の多くのスプレッドシートプログラムは、この形式を処理することができます。

OpenDocument テキスト

広く採用されているテキストデータの新しい標準です。最新のワードプロセッサ (LibreOffice、 OpenOffice、 Microsoft Word、 AbiWord、 KWordなど) でこれを処理することができます。

PDF

プレゼンテーション目的の場合、編集できない PDF は最適かもしれません。

PHP array

選択されたテーブルやデータベースの内容を持った多次元配列を宣言する PHP ファイルを生成することができます。

SQL

SQL でエクスポートすると、データベースの復元に使用できるため、バックアップに有用です。

「作成されたクエリの最大長」オプションは文書化されていないようです。しかし、実験では、大きく広がった INSERT を分割するため、それぞれが指定されたバイト数 (または文字数?) より大きくならないことが分かっています。したがって、ファイルをインポートするときに、大きなテーブルで "Got a packet bigger than 'max_allowed_packet' bytes" というエラーを回避することができます。

データオプション

完全挿入 は、 SQL ダンプにカラム名を追加します。このパラメータにより、ダンプの可読性と信頼性が高まります。カラム名を追加すると、ダンプの大きさが増加しますが、拡張挿入と組み合わせると無視できる程度です。

拡張挿入 は、複数のデータ行を1つの INSERT クエリに結合します。これにより、大きな SQL ダンプではファイルの大きさを大幅に縮小でき、インポート時の INSERT の速度を上げることができるので、通常は推奨されます。

Texy!

Texy! マークアップ形式です。例を Texy! のデモ で参照することができます。

XML

カスタムスクリプトで使用するために解析しやすいエクスポートです。

バージョン 3.3.0 で変更: 使用する XML スキーマがバージョン 3.3.0 で変更されました

YAML

YAML は、人間が読める形式であり、計算能力も高いデータシリアル化形式です (<https://yaml.org>)。