0

我有一项服务可以生成格式化的文本文件,其中包含来自 MYSQL 数据库中某些表的信息。目前我以编程方式查询数据库并将其转储到 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 表还会创建一个相应的 Metafile,其中存储了表的状态和表中存在的行数。此文件的名称与扩展名为 CSM 的表的名称相同。

如果您检查执行上述语句创建的数据库目录中的 test.CSV 文件,其内容应如下所示:

"1","record one"
"2","record two"

这种格式可以被 Microsoft Excel 或 StarOffice Calc 等电子表格应用程序读取,甚至写入。

于 2012-09-06T11:01:00.707 回答