CSV ストレージエンジンはコンマ区切りの値を使ったフォーマットでデータをテキストファイルに保存します。
MySQLを作成する時、このストレージエンジンを使用するには、 configure する為に --with-csv-storage-engineオプションを使います。
ソースからMySQLを構築し CSV ストレージエンジンの機能を有効にするには、--with-csv-storage-engine オプションの configure コマンドを呼び出します。
CSV エンジンのソースを調べるには、MySQL ソースディストリビューションの storage/csv ディレクトリを検索します。
CSV テーブルを作成すると、サーバーはデータベースのディレクトリ上にテーブル形式のファイルを作成します。ファイルはテーブル名から始まり .frm 拡張子が付きます。このストレージエンジンはデータファイルも作成します。その名前はテーブル名で始まり .CSV という拡張子を持ちます。このデータファイルはシンプルなテキストファイルです。データをテーブルに保存する時、ストレージエンジンはコンマで区切られた値のフォーマットでそのデータをデータファイルに保存します。
mysql>CREATE TABLE test(i INT, c CHAR(10)) ENGINE = CSV;Query OK, 0 rows affected (0.12 sec) mysql>INSERT INTO test VALUES(1,'record one'),(2,'record two');Query OK, 2 rows affected (0.00 sec) Records:2 Duplicates:0 Warnings: 0 mysql>SELECT * FROM test;+------+------------+ | i | c | +------+------------+ | 1 | record one | | 2 | record two | +------+------------+ 2 rows in set (0.00 sec)
MySQL 5.1.9から、 CSVテーブルを作成するとテーブルの状態とそのテーブル内の行数を記憶する、対応メタファイルも同時に作成されるようになりました。このファイルの名前は CSMという拡張子のついたテーブル名と同じです。
前回のステートメント実行時に作成されたデータベースディレクトリの中の test.CSV ファイルを分析すると、その中身はこのようになっているでしょう。
"1","record one" "2","record two"
このフォーマットはマイクロソフトエクセルやスターオフィスなどのような表計算アプリケーションによって読み取る事も、書き込む事も可能です。
