Spec-Zone.ru › MariaDB

Обзор CSV

Движок хранения CSV может читать и добавлять записи в файлы, хранящиеся в формате CSV (comma-separated-values).

Однако, начиная с MariaDB 10.0, для чтения и записи таких файлов доступен более совершенный движок хранения: CONNECT.

Движок CSV и запись в таблицы

Движок CSV является стандартным движком при использовании записи SQL-запросов в таблицы.

mysqld --log-output=table

Файлы движка CSV

При создании таблицы с помощью движка CSV создаются три файла:

  • <table_name>.frm
  • <table_name>.CSV
  • <table_name>.CSM

Файл .frm содержит формат таблицы.

Файл .CSV — это обычный текстовый файл. Данные, которые вы вводите в таблицу, хранятся в формате CSV (значения, разделенные запятыми).

Файл .CSM содержит метаданные о таблице, такие как состояние и количество строк в таблице.

Ограничения

  • Для CSV-таблиц не поддерживается индексирование.
  • CSV-таблицы нельзя разбить на разделы.
  • Столбцы в CSV-таблицах должны быть объявлены как NOT NULL.
  • Транзакции не поддерживаются.
  • Оригинальный формат CSV не обеспечивает совместимого с IETF разбора вложенных символов кавычек и запятых. Начиная с MariaDB 10.1.8, это можно сделать, установив параметр IETF_QUOTES при создании таблицы.

Примеры

Забыв добавить NOT NULL:

CREATE 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 columns

Создание, вставка и выборка:

CREATE 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"

См. также

  • Проверка и восстановление CSV-таблиц
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/csv-overview/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API