The CSV Storage Engine stores data in comma-separated values format text files, making it easy to exchange data with other applications.
The CSV Storage Engine can read and append to files stored in CSV (comma-separated-values) format.
The CSV storage engine is the default storage engine when using logging of SQL queries to tables.
When you create a table using the CSV storage engine, three files are created:
<table_name>.frm
<table_name>.CSV
<table_name>.CSM
The .frm file is the table format file.
The .CSV file is a plain text file. Data you enter into the table is stored as plain text in comma-separated-values format.
The .CSM file stores metadata about the table such as the state and the number of rows in the table.
CSV tables do not support indexing.
CSV tables cannot be partitioned.
Columns in CSV tables must be declared as NOT NULL.
No .
Forgetting to add NOT NULL:
Creating, inserting and selecting:
Viewing in a text editor:
This page is licensed: CC BY-SA / Gnu FDL
mysqld --log-output=tableCREATE TABLE csv_test (x INT, y DATE, z CHAR(10)) ENGINE=CSV;
ERROR 1178 (42000): The storage engine for the table doesn't support nullable columnsCREATE TABLE csv_test (
x INT NOT NULL, y DATE NOT NULL, z CHAR(10) NOT NULL
) ENGINE=CSV;INSERT INTO csv_test VALUES
(1,CURDATE(),'one'),
(2,CURDATE(),'two'),
(3,CURDATE(),'three');SELECT * FROM csv_test;
+---+------------+-------+
| x | y | z |
+---+------------+-------+
| 1 | 2011-11-16 | one |
| 2 | 2011-11-16 | two |
| 3 | 2011-11-16 | three |
+---+------------+-------+$ cat csv_test.CSV
1,"2011-11-16","one"
2,"2011-11-16","two"
3,"2011-11-16","three"