15.4 CSV 存储引擎

CSV存储引擎使用逗号分隔的值格式将数据存储在文本文件中。

CSV存储引擎始终被编译到 MySQL 服务器中。

要检查CSV引擎的源,请查看 MySQL 源分发的storage/csv目录。

创建CSVtable 时,服务器将在数据库目录中创建 table 格式文件。该文件以 table 名开头,extensions 为.frm。存储引擎还创建纯文本数据文件,该文件的名称以 table 名开头且 extensions 为.CSV。将数据存储到 table 中时,存储引擎会将其以逗号分隔的值格式保存到数据文件中。

mysql> CREATE TABLE test (i INT NOT NULL, c CHAR(10) NOT NULL)
       ENGINE = CSV;
Query OK, 0 rows affected (0.06 sec)

mysql> INSERT INTO test VALUES(1,'record one'),(2,'record two');
Query OK, 2 rows affected (0.05 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)

创建CSVtable 还会创建一个相应的图元文件,该图元文件存储 table 的状态和 table 中存在的行数。该文件的名称与 extensions 为CSM的 table 的名称相同。

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

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

可以通过电子 table 格应用程序(例如 Microsoft Excel 或 StarSuite Calc)读取甚至编写这种格式。