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 engine
coluna armazena tipos de mecanismos de armazenamento e support
indica 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 ENGINE
cláusula como "CSV"
na CREATE TABLE
instrução.
Por exemplo, o seguinte cria uma tabela chamada contacts
que 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
.CSV
extensã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
.CSM
extensão. O arquivo metarquivo armazena o estado e o número de linhas da tabela.
Por exemplo, quando você cria a contacts
tabela 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 contacts
tabela:
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 contacts
tabela:
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.csv
arquivo 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.