CSV文件是一种标准的文本文件,可以用Excel或者记事本等软件打开,Mysql本身也支持这种形式的文件读取。问题是现在有CSV文件,如何像操作数据库文件一样操作CSV文件,对其中的内容进行增删查改等操作?
Mysql Manual 5.7中的15.4节对CSV存储引擎进行了描述。
使用CSV引擎创建表格如下:
CREATE TABLE test (i INT NOT NULL, c CHAR(10) NOT NULL) ENGINE = CSV;
除了test.CSV文件本身,Mysql还在数据目录下创建了.FRM文件和.CSM文件,两者都为二进制不可读文件,其中.FRM文件存储了表格本身的格式信息,例如有多少列,列的名称,数据类型等,.CSM文件存储了表格的状态和表格记录行数。
CSV引擎不支持索引和分区,并且所有字段有必须是非空值。读取自己的CSV文件有两种办法,一种是直接用有数据的CSV文件替代数据库创建表格时生成的CSV文件,另一种是建立软链接,将数据库的CSV文件做成软链接,链接到有数据的CSV文件。这里介绍第二种,两种方法的CSV文件都必须满足以下要求:
1.CSV文件的末位必须要有换行符号(ASCII码‘0A’),否则最后一条数据不识别
2.CSV文件的内容要和创建表格时定义的格式一致,比如列的数目,列的数据类型等
<