頑張らない!でも諦めない!必死にならずにええかげん

phpMyAdminを利用したMySQLデータのインポート形式一覧とデータ

      2014/11/22

Google or AdMax Promotion(it)

phpMyAdminにてMySQLデータベースからエクスポートできる
各ファイル形式の出力結果を、
再びインポート可能な形式で取り込みを行った結果です。
特に意味はありませんが、どのような形式でインポートが行えるのかの、
サンプルデータとしてお考えください。

はじめに

phpMyAdminではSQL文以外の様々なデータ形式でエクスポートが行えます。
実際にはほとんどSQLによるエクスポートをして、
インポートするという利用方法しか使っていませんが、
ざっといろいろな形式でインポートしてみると、
どのような成果物が出力されるのかを試してみましたのでご参考まで。

テストデータについて

今回エクスポートに利用したデータは以下のような4レコードのみです。

01_エクスポート元のテストデータ

エクスポート元のテストデータ

このデータをphpMyAdminにて各種形式でエクスポートを行って、
エクスポートした形式でインポート可能な形式のデータを読み込みます。

エクスポートフォーマットの選択肢

phpMyAdminのエクスポートでは以下のような
エクスポート選択肢が指定できます。

02_phpMyAdminで利用できるエクスポートフォーマット

phpMyAdminで利用できるエクスポートフォーマット

エクスポート結果の実データ

phpMyAdminからエクスポートフォーマット種別については、
以下の投稿でご紹介しています。
phpMyAdminを利用したMySQLデータのエクスポート形式一覧とデータ
以下はそのテストデータの出力結果です。

CodeGen.cs
CSV.csv
MS Excel用の CSV.csv
Microsoft™ Word 2000.doc
JSON.json
LaTex.tex
MediaWikiテーブル.txt
OpenDocument スプレッドシート.ods
OpenDocument テキスト.odt
PDF.pdf
PHP配列.php
SQL.sql
Texy!テキスト.txt
Excel 97-2003 XLS ワークブック.xls
Excel 2007 XLSX ワークブック.xlsx
XML.xml
YAML.yml

phpMyAdminのインポート形式の選択肢

phpMyAdminでは以下のようなインポートフォーマットが選択できます。

03_phpMyAdminで利用できるインポートフォーマット

phpMyAdminで利用できるインポートフォーマット

インポートファイルの選択

取り込み対象データベースを選択したうえで[インポート]をクリックすることで、
インポート画面が表示されます。

このインポート画面の最上部でインポート対象ファイルの選択を行います。

04_インポートファイル選択

インポートファイル選択

この際にPHPとphpMyAdminのインストール後に特に変更をしていない場合には、
(最長: 2,048KiB) と表示されていると思います。

アップロードの上限が2MBに制限されています。

05_インポートファイルサイズ上限

インポートファイルサイズ上限

この上限設定の変更については以下の投稿でご紹介しています。
ファイルアップロード上限の変更(PHP/phpMyAdmin/wordpress)

各入力の結果

今回は入力フォーマットごとにデータベースを作成し、
その新規データベースに対して、エクスポートデータを取り込みます。

CSV

実際に取り込みを行っているデータは以下のようなデータです。
CSV.csv

取り込み用のファイルを選択すると、自動的にフォーマットの部分も[CSV]に変更されます。

06_CSVインポート

CSVインポート

デフォルトの状態での取り込みによって返された処理結果

07_CSVインポート処理結果

CSVインポート処理結果


“CSV”データベースの内容確認

さすがにCSVによるテーブル生成となると、
テーブル名は[table_1]などのお任せ名称になってしまいますし、
テーブルの定義もphpMyAdminにお任せといった感じになります。

その為、当然ですがこのCSVインポートでは、
元からあるテーブルのデータをCSVで書き出し、同じテーブルを指定してCSVを読み込む、
テーブルの構造を先に準備しておき、一括でデータを取り込むといった、
データバックアップと初期データ投入の用途などでは利用できそうです。

08_CSVインポート後のデータ比較

CSVインポート後のデータ比較

ちなみに、テーブル(table_1)を選択した状態で、
テーブルデータを差し替えるファイルとした場合には、以下のようなSQLが実行されます。

既にテーブルが存在している場合には、
必要な値のみが取り込まれるため、これでも十分かもしれません。

OpenDocument スプレッドシート

実際に取り込みを行っているデータは以下のようなデータです。
OpenDocument スプレッドシート.ods

09_ODSインポートファイル

ODSインポートファイル

取り込み用のファイルを選択すると、自動的にフォーマットの部分も
[OpenDocumentスプレッドシート]に変更されます。
興味深いのは[%]や[¥]マークを置き換えるオプションがある点です。

10_ODSインポート

ODSインポート

デフォルトの状態での取り込みによって返された処理結果

11_ODSインポート処理結果

ODSインポート処理結果


“opendocumentss”データベースの内容確認

このスプレッドシートによるテーブル生成となるとCSV同様に、
テーブルの定義もphpMyAdminにお任せといった感じになります。

この方式も
元からあるテーブルのデータをODSで書き出し、同じテーブルを指定してODSを読み込む、
テーブルの構造を先に準備しておき、一括でデータを取り込むといった、
データバックアップと初期データ投入の用途などでは利用できそうです。

12_ODSインポート後のデータ比較

ODSインポート後のデータ比較

OpenDocumentスプレッドシートの取り込みの場合には、

既に取り込んでいるファイルを再度取り込んでも、
同じ処理が行われREPLACE INTO文に変更するような方法は見当たりませんでした。

SQL

実際に取り込みを行っているデータは以下のようなデータです。
SQL.sql

取り込み用のファイルを選択すると、自動的にフォーマットの部分も[SQL]に変更されます。

24_SQLインポート

SQLインポート

デフォルトの状態での取り込みによって返された処理結果

25_SQLインポート処理結果

SQLインポート処理結果



SQLによるインポートでは、出力したテーブルがしっかりと再現できる方法です。

ただ、データベースなどからSQLでダンプできるような場合以外は、
手でSQL文を組み立てる必要があるため、
ケースバイケースで他のフォーマットと使い分ければいいでしょう。

SQLの実行では、ファイルのSQL文がそのまま処理されますので、
エクスポートしたデータベースと、インポートしたデータベースでの差異はありません。
※MySQL間の移行の場合にはという条件はあると思いますが。

26_SQLインポート後のデータ比較

SQLインポート後のデータ比較

しかしながら、MySQL以外のデータベースなどで出力したSQLなどの場合は、
テーブルの型などで互換性のないものもありますので注意が必要です。

Excel 97-2003 XLS ワークブック

実際に取り込みを行っているデータは以下のようなデータです。
Excel 97-2003 XLS ワークブック.xls

13_XLSインポートファイル

XLSインポートファイル

取り込み用のファイルを選択すると、自動的にフォーマットの部分も
[Excel 97-2003 XLS ワークブック]に変更されます。

14_XLSインポート

XLSインポート

デフォルトの状態での取り込みによって返された処理結果

15_XLSインポート処理結果

XLSインポート処理結果

“excel972003xlswb”データベースの内容確認

このスプレッドシートによるテーブル生成となるとCSV同様に、
テーブルの定義もphpMyAdminにお任せといった感じになります。

この方式も
元からあるテーブルのデータをODSで書き出し、同じテーブルを指定してODSを読み込む、
テーブルの構造を先に準備しておき、一括でデータを取り込むといった、
データバックアップと初期データ投入の用途などでは利用できそうです。

16_XLSインポート後のデータ比較

XLSインポート後のデータ比較


Excel 2007 XLSX ワークブック

実際に取り込みを行っているデータは以下のようなデータです。
Excel 2007 XLSX ワークブック.xlsx

17_XLSXインポートファイル

XLSXインポートファイル

取り込み用のファイルを選択すると、自動的にフォーマットの部分も[CSV]に変更されます。

18_XLSXインポート

XLSXインポート

デフォルトの状態での取り込みによって返された処理結果

19_XLSXインポート処理結果

XLSXインポート処理結果


“excel2007xlsxwb”データベースの内容確認

このスプレッドシートによるテーブル生成となるとCSV同様に、
テーブルの定義もphpMyAdminにお任せといった感じになります。

この方式も
元からあるテーブルのデータをODSで書き出し、同じテーブルを指定してODSを読み込む、
テーブルの構造を先に準備しておき、一括でデータを取り込むといった、
データバックアップと初期データ投入の用途などでは利用できそうです。

20_XLSXインポート後のデータ比較

XLSXインポート後のデータ比較

XML

実際に取り込みを行っているデータは以下のようなデータです。
XML.xml

取り込み用のファイルを選択すると、自動的にフォーマットの部分も[XML]に変更されます。

21_XMLインポート

XMLインポート

デフォルトの状態での取り込みによって返された処理結果

22_XMLインポート処理結果

XMLインポート処理結果


“xml”データベースの内容確認

このXLMによるテーブル生成でもExcelと同様に
テーブルの定義もphpMyAdminにお任せといった感じになります。

この方式も
元からあるテーブルのデータをODSで書き出し、同じテーブルを指定してODSを読み込む、
テーブルの構造を先に準備しておき、一括でデータを取り込むといった、
データバックアップと初期データ投入の用途などでは利用できそうです。

23_XMLインポート後のデータ比較

XMLインポート後のデータ比較

プロモーション(btm)

Google or AdMax Promotion (it)

さいごに

結局のところ、SQLによるインポート以外は、
空のテーブル定義をあらかじめ準備しておき初期データ投入程度の利用法になりますが、
簡単にエクセルやエクセルから吐き出したCSVなどで、
MySQLデータとして取り込めるのは、ケースバイケースで利用できると思います。

とはいえ、データのバックアップでは、
SQLを利用する以外に選択肢はないという結論にもなってしまいましたが。

phpMyAdminはphpMyAdmin devel teamによる著作物です。
phpMyAdminはGNU General Public License, version 2.によってライセンスされています。

PHPはPHP License (原文)に基づいてOpen Source Initiativeに承認されライセンスされています。

Adobe、Acrobat、Adobe Reader、Acrobat Reader、
Adobe ロゴ、Adobe AIR、Flash、Flash Playerは、
Adobe Systems Incorporatedの米国ならびに他の国における商標または登録商標です。

Microsoft® Excel®は米国 Microsoft Corporation の米国およびその他の国における商標または名称です。
Microsoft® Word®は米国 Microsoft Corporation の米国およびその他の国における商標または名称です。

*本ページ内に記載されされた各社ブランド、サービス名、商標、登録商標については、
各社ブランドのロゴや商標等に関する帰属についてをご確認ください


最後までお読みいただきありがとうございました。
アルゴリズン


役に立ったと思っていただけたら、以下からシェア頂けたら幸いです^^

QRコードからもこのURLを開けます。

Pitta Promotion

アイキャッチ画像に利用させて頂いております、各社ブランドのロゴやシンボルに関しては、
各社ブランドのロゴや商標等に関する帰属についてをご確認頂けますようお願い致します。
ロゴの使用等に関する苦情・ご意見等がございましたら管理者までご連絡ください。

AdMax Promotion

カテゴリ
すべて展開 | すべて省略

Rakuten Promotion

 - MySQL, phpMyAdmin ,

  関連記事