Mecanismo de armazenamento MySQL CSV

Resumo : neste tutorial, você aprenderá sobre o mecanismo de armazenamento CSV MySQL e como criar tabelas que usam o mecanismo de armazenamento CSV para armazenar dados no formato CSV.

Introdução ao mecanismo de armazenamento MySQL CSV

O mecanismo de armazenamento CSV armazena dados de tabela como um arquivo de texto simples no formato CSV (valores separados por vírgula).

O mecanismo de armazenamento CSV é útil quando você precisa compartilhar diretamente os dados da tabela com outros aplicativos que usam o formato CSV.

É crucial estar ciente das limitações do mecanismo de armazenamento CSV, incluindo:

  • Falta de indexação: as tabelas CSV não suportam índices , o que afeta o desempenho da consulta para grandes conjuntos de dados.
  • Não suportam transações: tabelas CSV não suportam transações , tornando-as menos adequadas para aplicações que exigem integridade de dados críticos.

Para verificar se o seu servidor MySQL suporta mecanismo de armazenamento CSV, use a seguinte consulta:

SELECT 
  engine, 
  support 
FROM 
  information_schema.engines 
ORDER BY 
  engine;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+--------------------+---------+
| engine             | support |
+--------------------+---------+
| ARCHIVE            | YES     |
| BLACKHOLE          | YES     |
| CSV                | YES     |
| FEDERATED          | NO      |
| InnoDB             | DEFAULT |
| MEMORY             | YES     |
| MRG_MYISAM         | YES     |
| MyISAM             | YES     |
| ndbcluster         | NO      |
| ndbinfo            | NO      |
| PERFORMANCE_SCHEMA | YES     |
+--------------------+---------+
11 rows in set (0.01 sec)Linguagem de código:  JavaScript  ( javascript )

Na saída, a enginecoluna armazena tipos de mecanismos de armazenamento e supportindica se um mecanismo de armazenamento é suportado.

Exemplo de mecanismo de armazenamento MySQL CSV

Vejamos um exemplo de uso do mecanismo de armazenamento CSV.

1) Criando uma tabela CSV

Para criar uma tabela que usa o mecanismo de armazenamento CSV, defina a ENGINEcláusula como "CSV"na CREATE TABLEinstrução.

Por exemplo, o seguinte cria uma tabela chamada contactsque usa o mecanismo de armazenamento CSV:

CREATE TABLE contacts(
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL
) ENGINE = CSV;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Observe que a tabela CSV não suporta a coluna com o atributo AUTO_INCREMENT .

Quando você cria uma tabela que usa o mecanismo de armazenamento CSV, o MySQL cria dois arquivos no diretório do banco de dados:

  • Arquivo de dados : Este é um arquivo de dados de texto simples com um nome que começa com o nome da tabela e possui uma .CSVextensão. O arquivo de dados armazena os dados reais em formato de valores separados por vírgula.
  • Metarquivo : O metarquivo correspondente com o mesmo nome da tabela e a .CSMextensão. O arquivo metarquivo armazena o estado e o número de linhas da tabela.

Por exemplo, quando você cria a contactstabela CSV, o MySQL cria dois arquivos:

  • contacts.CSV– armazena os dados reais.
  • contact.CSM– armazena os metadados da tabela, como o número de linhas.

2) Inserindo dados em uma tabela CSV

A instrução a seguir insere algumas linhas na contactstabela:

INSERT INTO contacts (name, email) 
VALUES 
  ('john', '[email protected]'), 
  ('jane', '[email protected]');Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Quando você insere linhas em uma tabela CSV, o MySQL as adiciona ao arquivo .CSV correspondente, como contacts.CSV. Além disso, atualiza o metarquivo ( contacts.CSM) com as novas informações.

3) Consultando dados de uma tabela CSV

A instrução a seguir recupera dados da contactstabela:

SELECT 
  name, 
  email 
FROM 
  contacts;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+------+---------------+
| name | email         |
+------+---------------+
| john | [email protected] |
| jane | [email protected] |
+------+---------------+
2 rows in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

Se você examinar o contacts.csvarquivo no diretório de dados, verá os mesmos registros:

"john","[email protected]"
"jane","[email protected]"Linguagem de código:  JavaScript  ( javascript )

Resumo

  • O mecanismo de armazenamento CSV armazena dados de tabelas inteiramente em arquivos CSV com os nomes correspondentes aos das tabelas.
  • Use o mecanismo de armazenamento CSV quando quiser compartilhar dados de tabela diretamente com scripts ou aplicativos que consomem arquivos CSV.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *