我有一个服务,它产生格式化的文本文件与信息从某些表在MYSQL数据库中。目前,我以编程方式查询DB并将其转储到文本文件中。我想知道我是否可以在MYSQL数据库中做同样的事情。
这意味着当一条新记录被添加到特定表中时,MYSQL将运行一段代码来生成格式化的文本文件。
发布于 2012-09-06 19:01:01
您没有太多地讲述您的用例,但也许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"此格式可由Microsoft Excel或StarOffice Calc等电子表格应用程序读取,甚至写入。
https://stackoverflow.com/questions/12297705
复制相似问题