MySQL 8.0 参考手册  / 第 16 章替代存储引擎  /  15.4 CSV 存储引擎

15.4 CSV 存储引擎

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

CSV存储引擎总是被编译到 MySQL 服务器中 。

要检查CSV引擎的源代码,请查看storage/csvMySQL 源代码分发目录。

创建CSV表时,服务器会在数据库目录中创建一个表格式文件。该文件以表名开头并具有.frm扩展名。存储引擎还创建名称以表名开头并具有.CSV 扩展名的纯文本数据文件。当您将数据存储到表中时,存储引擎会将其以逗号分隔值格式保存到数据文件中。

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)

创建CSV表还会创建一个相应的图元文件,用于存储表的状态和表中存在的行数。该文件的名称与表的名称相同,扩展名为CSM.

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

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

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