QA@IT
«回答へ戻る

760
 **マニュアル**
 7.4.3 mysqldump による区切りテキストフォーマットでのデータのダンプ
 [https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html](https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html)
+
+### 追記 (2015/12/31)
+実際はどんな感じになるのか、こちらでSakilaを使って試してみました。
+
+**Sakila Sample Database**
+[https://dev.mysql.com/doc/sakila/en/](https://dev.mysql.com/doc/sakila/en/)
+
+**mysqldump実行**
+
+```sh
+$ mysqldump -u ユーザ名 -p --tab=/var/tmp/dump sakila
+```
+
+**出力ディレクトリの内容**
+
+```sh
+$ ls /var/tmp/dump
+actor.sql       customer_list.sql  language.txt
+actor.txt       film.sql           nicer_but_slower_film_list.sql
+actor_info.sql  film.txt           payment.sql
+address.sql     film_actor.sql     payment.txt
+address.txt     film_actor.txt     rental.sql
+category.sql    film_category.sql  rental.txt
+category.txt    film_category.txt  sales_by_film_category.sql
+city.sql        film_list.sql      sales_by_store.sql
+city.txt        film_text.sql      staff.sql
+country.sql     film_text.txt      staff.txt
+country.txt     inventory.sql      staff_list.sql
+customer.sql    inventory.txt      store.sql
+customer.txt    language.sql       store.txt
+```
+
+拡張子`.sql`と`.txt`が対になっていて、例えばactor.sqlがテーブルactorのスキーマで、actor.txtが同テーブルのデータです。このディレクトリで`*.txt`に対してgrepすれば、メッセージが入っているテーブル名がわかるはずです。次にその`.txt`ファイルを見ればよいですが、中身はこんな感じになっています。
+
+**.txtファイルの内容**
+
+```sh
+$ head -3 actor.txt
+1       PENELOPE        GUINESS 2006-02-14 19:34:33
+2       NICK    WAHLBERG        2006-02-14 19:34:33
+3       ED      CHASE   2006-02-14 19:34:33
+```
+
+これでメッセージが入っているのが何番目のフィールドかわかるはずなので、次に`.sql`ファイルを見てスキーマと照らし合わせればテーブルのカラム名もわかると思います。

下記マニュアルを見て思ったのですが、mysqldump(--tabオプション付き)でテキストダンプデータを吐き出してから、その出力ディレトリ内で「grep メッセージ *.txt」するという方法はどうでしょうか。

これで格納されている情報(メッセージ)からテーブル名がわかるので、次に「テーブル名.sql」ファイルを見ればカラム名もわかるように思います。

マニュアル
7.4.3 mysqldump による区切りテキストフォーマットでのデータのダンプ
https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html

追記 (2015/12/31)

実際はどんな感じになるのか、こちらでSakilaを使って試してみました。

Sakila Sample Database
https://dev.mysql.com/doc/sakila/en/

mysqldump実行

$ mysqldump -u ユーザ名 -p --tab=/var/tmp/dump sakila

出力ディレクトリの内容

$ ls /var/tmp/dump
actor.sql       customer_list.sql  language.txt
actor.txt       film.sql           nicer_but_slower_film_list.sql
actor_info.sql  film.txt           payment.sql
address.sql     film_actor.sql     payment.txt
address.txt     film_actor.txt     rental.sql
category.sql    film_category.sql  rental.txt
category.txt    film_category.txt  sales_by_film_category.sql
city.sql        film_list.sql      sales_by_store.sql
city.txt        film_text.sql      staff.sql
country.sql     film_text.txt      staff.txt
country.txt     inventory.sql      staff_list.sql
customer.sql    inventory.txt      store.sql
customer.txt    language.sql       store.txt

拡張子.sql.txtが対になっていて、例えばactor.sqlがテーブルactorのスキーマで、actor.txtが同テーブルのデータです。このディレクトリで*.txtに対してgrepすれば、メッセージが入っているテーブル名がわかるはずです。次にその.txtファイルを見ればよいですが、中身はこんな感じになっています。

.txtファイルの内容

$ head -3 actor.txt
1       PENELOPE        GUINESS 2006-02-14 19:34:33
2       NICK    WAHLBERG        2006-02-14 19:34:33
3       ED      CHASE   2006-02-14 19:34:33

これでメッセージが入っているのが何番目のフィールドかわかるはずなので、次に.sqlファイルを見てスキーマと照らし合わせればテーブルのカラム名もわかると思います。

下記マニュアルを見て思ったのですが、mysqldump(--tabオプション付き)でテキストダンプデータを吐き出してから、その出力ディレトリ内で「grep メッセージ *.txt」するという方法はどうでしょうか。

これで格納されている情報(メッセージ)からテーブル名がわかるので、次に「テーブル名.sql」ファイルを見ればカラム名もわかるように思います。

**マニュアル**
7.4.3 mysqldump による区切りテキストフォーマットでのデータのダンプ
[https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html](https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html)

### 追記 (2015/12/31)
実際はどんな感じになるのか、こちらでSakilaを使って試してみました。

**Sakila Sample Database**
[https://dev.mysql.com/doc/sakila/en/](https://dev.mysql.com/doc/sakila/en/)

**mysqldump実行**

```sh
$ mysqldump -u ユーザ名 -p --tab=/var/tmp/dump sakila
```

**出力ディレクトリの内容**

```sh
$ ls /var/tmp/dump
actor.sql       customer_list.sql  language.txt
actor.txt       film.sql           nicer_but_slower_film_list.sql
actor_info.sql  film.txt           payment.sql
address.sql     film_actor.sql     payment.txt
address.txt     film_actor.txt     rental.sql
category.sql    film_category.sql  rental.txt
category.txt    film_category.txt  sales_by_film_category.sql
city.sql        film_list.sql      sales_by_store.sql
city.txt        film_text.sql      staff.sql
country.sql     film_text.txt      staff.txt
country.txt     inventory.sql      staff_list.sql
customer.sql    inventory.txt      store.sql
customer.txt    language.sql       store.txt
```

拡張子`.sql`と`.txt`が対になっていて、例えばactor.sqlがテーブルactorのスキーマで、actor.txtが同テーブルのデータです。このディレクトリで`*.txt`に対してgrepすれば、メッセージが入っているテーブル名がわかるはずです。次にその`.txt`ファイルを見ればよいですが、中身はこんな感じになっています。

**.txtファイルの内容**

```sh
$ head -3 actor.txt
1       PENELOPE        GUINESS 2006-02-14 19:34:33
2       NICK    WAHLBERG        2006-02-14 19:34:33
3       ED      CHASE   2006-02-14 19:34:33
```

これでメッセージが入っているのが何番目のフィールドかわかるはずなので、次に`.sql`ファイルを見てスキーマと照らし合わせればテーブルのカラム名もわかると思います。

760
-下記マニュアルを見て思ったのですが、mysqldumpでテキストダンプデータを吐き出してから、その出力ディレトリ内で「grep メッセージ *.txt」するという方法はどうでしょうか。
+下記マニュアルを見て思ったのですが、mysqldump(--tabオプション付き)でテキストダンプデータを吐き出してから、その出力ディレトリ内で「grep メッセージ *.txt」するという方法はどうでしょうか。
 
 これで格納されている情報(メッセージ)からテーブル名がわかるので、次に「テーブル名.sql」ファイルを見ればカラム名もわかるように思います。
 

下記マニュアルを見て思ったのですが、mysqldump(--tabオプション付き)でテキストダンプデータを吐き出してから、その出力ディレトリ内で「grep メッセージ *.txt」するという方法はどうでしょうか。

これで格納されている情報(メッセージ)からテーブル名がわかるので、次に「テーブル名.sql」ファイルを見ればカラム名もわかるように思います。

マニュアル
7.4.3 mysqldump による区切りテキストフォーマットでのデータのダンプ
https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html

下記マニュアルを見て思ったのですが、mysqldump(--tabオプション付き)でテキストダンプデータを吐き出してから、その出力ディレトリ内で「grep メッセージ *.txt」するという方法はどうでしょうか。

これで格納されている情報(メッセージ)からテーブル名がわかるので、次に「テーブル名.sql」ファイルを見ればカラム名もわかるように思います。

**マニュアル**
7.4.3 mysqldump による区切りテキストフォーマットでのデータのダンプ
[https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html](https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html)

回答を投稿

下記マニュアルを見て思ったのですが、mysqldumpでテキストダンプデータを吐き出してから、その出力ディレトリ内で「grep メッセージ *.txt」するという方法はどうでしょうか。

これで格納されている情報(メッセージ)からテーブル名がわかるので、次に「テーブル名.sql」ファイルを見ればカラム名もわかるように思います。

マニュアル
7.4.3 mysqldump による区切りテキストフォーマットでのデータのダンプ
https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html

下記マニュアルを見て思ったのですが、mysqldumpでテキストダンプデータを吐き出してから、その出力ディレトリ内で「grep メッセージ *.txt」するという方法はどうでしょうか。

これで格納されている情報(メッセージ)からテーブル名がわかるので、次に「テーブル名.sql」ファイルを見ればカラム名もわかるように思います。

**マニュアル**
7.4.3 mysqldump による区切りテキストフォーマットでのデータのダンプ
[https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html](https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html)