0

MYSQL データベース内の特定のテーブルからの情報を含む書式設定されたテキスト ファイルを生成するサービスがあります。現在、プログラムでDBにクエリを実行し、TEXTファイルにダンプしています。MYSQL データベース内から同じことができるかどうか疑問に思います。

これは、新しいレコードが特定のテーブルに追加されると、MYSQL がそのフォーマットされたテキスト ファイルを生成するコードを実行することを意味します。

4

1 に答える 1

1

ユースケースについてはあまり説明していませんが、CSVエンジンが探しているものかもしれません。

マニュアルから:

CSVテーブルを作成すると、サーバーはデータベースディレクトリにテーブル形式のファイルを作成します。ファイルはテーブル名で始まり、拡張子は.frmです。ストレージエンジンはデータファイルも作成します。その名前はテーブル名で始まり、拡張子は.CSVです。データファイルはプレーンテキストファイルです。データをテーブルに保存すると、ストレージエンジンはデータをコンマ区切り値形式でデータファイルに保存します。

mysql> CREATE TABLE test (i INT NOT NULL, c CHAR(10) NOT NULL)
    -> 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"

この形式は、MicrosoftExcelやStarOfficeCalcなどのスプレッドシートアプリケーションで読み取り、さらには書き込みを行うことができます。

于 2012-09-06T11:01:00.707 に答える