25th Jun 2024 9 minutos de leitura Como importar um arquivo CSV para um banco de dados MySQL Martyna Sławińska sql csv Índice Sobre arquivos CSV Por que importar um arquivo CSV para um banco de dados? Importação de um arquivo CSV para um banco de dados MySQL Importação de um arquivo CSV para o MySQL usando a linha de comando Conexão a um banco de dados Importação de um arquivo CSV Usando uma GUI do MySQL Conexão de um banco de dados Importação de um arquivo CSV Vamos importar alguns arquivos CSV! Os arquivos CSV armazenam e transferem dados entre bancos de dados. Continue lendo para descobrir como é fácil trabalhar com arquivos CSV em um banco de dados MySQL. Os arquivos CSV são um dos formatos mais antigos de troca de dados e ainda são muito usados por profissionais de TI de vários domínios. É comum que recursos de dados on-line e diferentes softwares de banco de dados ofereçam seus uploads e downloads de dados no formato CSV. Neste artigo, faremos uma breve revisão do que é um arquivo CSV e como trabalhar com ele. Você aprenderá a importar um arquivo CSV para um banco de dados MySQL usando uma ferramenta de linha de comando ou uma interface gráfica de usuário como o MySQL Workbench. Embora a última seja muito mais rápida e fácil, é importante conhecer e praticar ambas. Se você nunca trabalhou com um banco de dados MySQL antes, não deixe de conferir nossos cursos interativos: O curso SQL para Iniciantes in MySQL inclui 126 exercícios que abrangem a seleção, a consulta, a agregação e o agrupamento de dados, bem como JOINs e O curso How to INSERT, UPDATE, or DELETE Data in MySQL (Como inserir, atualizar ou excluir dados no MySQL ) inclui 70 exercícios nos quais você insere, atualiza e exclui registros de tabelas. Ambos os cursos terminam com um teste para que você possa verificar o quanto aprendeu. Você também pode seguir este artigo para saber como instalar um banco de dados MySQL em um PC com Windows. Isso não é necessário para nenhum dos cursos, mas ter um banco de dados MySQL em seu computador lhe dará algo para praticar mais tarde. Então, vamos começar com nossa análise do formato de arquivo CSV. Sobre arquivos CSV CSV significa "Comma-Separated Values" (valores separados por vírgula). Um arquivo CSV é um arquivo de texto que armazena dados tabulares. Cada linha de um arquivo CSV representa uma linha de uma tabela. Normalmente, os valores das colunas são separados por vírgula (daí o nome, valores separados por vírgula), mas você pode usar outros separadores, como ponto e vírgula ou tabulação. Normalmente, a primeira linha de um arquivo CSV armazena os cabeçalhos das colunas e as linhas seguintes armazenam os dados. Agora você pode se perguntar o que acontece se um valor contiver um caractere de vírgula. Ele é tratado como um caso especial: o valor é envolvido por aspas duplas. Por exemplo, o valor 12.34 fica sem aspas duplas, mas o valor 12,34 deve ser escrito como "12,34" para evitar que seja considerado como dois valores (12 e 34) em vez de um valor (12,34). Vamos dar uma olhada em um exemplo de arquivo CSV chamado countries.csv que importaremos posteriormente para o banco de dados MySQL. id,country,population,capital 1,USA,"329,500,000",Washington D.C. 2,Canada,"38,010,000",Ottawa 3,UK,"67,220,000",London 4,Spain,"47,350,000",Madrid 5,Greenland,"56,367",Nuuk Talvez não seja tão claro quanto uma tabela, mas você pode ver o padrão. A primeira linha armazena cabeçalhos de coluna separados por vírgulas e as linhas seguintes armazenam valores separados por vírgulas. Observe que qualquer valor que contenha um caractere de vírgula é colocado entre aspas duplas. E aqui está uma tabela baseada no arquivo countries.csv: idcountrypopulationcapital 1USA329,500,000Washington D.C. 2Canada38,010,000Ottawa 3UK67,220,000London 4Spain47,350,000Madrid 5Greenland56,367Nuuk Por que importar um arquivo CSV para um banco de dados? Os arquivos CSV usam um formato de texto simples para armazenar dados. Os bancos de dados relacionais e os arquivos CSV foram desenvolvidos pela primeira vez na mesma época, na década de 1970. Desde então, os arquivos CSV têm sido usados para transferir dados entre bancos de dados. Podemos exportar dados em um formato de arquivo CSV de um banco de dados e importá-los nesse formato para outro banco de dados (por exemplo, para processamento e análise adicionais). Além disso, vários recursos de dados on-line e ferramentas de banco de dados oferecem uploads e downloads de dados no formato CSV. Portanto, o CSV é um formato de arquivo muito comum para a transferência de dados. O processo de importação de arquivos CSV é rápido e direto. É muito melhor do que criar uma tabela e inserir os dados manualmente. É por isso que os arquivos CSV, apesar de sua natureza simples, desempenham um papel tão importante no processamento e na análise de dados. Importação de um arquivo CSV para um banco de dados MySQL No banco de dados MySQL, há duas opções para importar um arquivo CSV. Uma é usar uma ferramenta de linha de comando e a outra é usar uma interface gráfica do usuário (GUI). Vamos dar uma olhada em cada uma delas. Importação de um arquivo CSV para o MySQL usando a linha de comando Siga as etapas abaixo para importar um arquivo CSV para o banco de dados MySQL por meio da ferramenta de linha de comando. Conexão a um banco de dados Supondo que você tenha um banco de dados MySQL em funcionamento instalado em seu computador, é possível usar o cliente de linha de comando MySQL (mostrado abaixo): Você pode conectar seu banco de dados executando o comando mysql --host=localhost --user=username --password e fornecendo uma senha: Observe que tanto o cliente de linha de comando do MySQL quanto a ferramenta de linha de comando padrão fornecem o mesmo prompt do mysql. Importação de um arquivo CSV Antes de importar um arquivo CSV, você precisa criar uma tabela manualmente com os tipos de dados adequados para cada coluna. Portanto, primeiro vamos criar um novo esquema usando o comando CREATE SCHEMA. Em seguida, executaremos o comando USE para garantir que você esteja dentro do esquema recém-criado. Por último, criaremos uma nova tabela usando o comando CREATE TABLE. CREATE SCHEMA data; USE data; CREATE TABLE `countries` ( `id` int DEFAULT NULL, `country` text, `population` text, `capital` text); O comando CREATE SCHEMA seguido de um nome de esquema cria um novo esquema chamado data. E o comando USE seguido de um nome de esquema garante que trabalhemos dentro do esquema recém-criado. Depois de concluir isso, criamos uma nova tabela usando o comando CREATE TABLE. Agora podemos carregar a tabela countries com os dados do nosso arquivo CSV. LOAD DATA INFILE 'countries.csv' INTO TABLE countries FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; Esse comando especifica o seguinte: O arquivo do qual os dados são carregados: LOAD DATA INFILE 'countries.csv' A tabela na qual os dados são carregados: INTO TABLE countries O caractere que separa os valores: FIELDS TERMINATED BY ',' Observe que, se você usar um separador diferente, como ponto e vírgula ou tabulação, deverá atualizar essa linha para incluir o caractere de separação: FIELDS TERMINATED BY ';' ou FIELDS TERMINATED BY ' ' Se alguns ou todos os valores estiverem entre aspas duplas, inclua esta linha: ENCLOSED BY '"' O caractere que encerra as linhas: LINES TERMINATED BY '\n' A informação para ignorar a primeira linha, que contém o cabeçalho: IGNORE 1 ROWS; Aqui está a saída do console de todos os comandos: Vamos verificar o processo de importação executando a instrução SELECT. A linha de comando retorna um conjunto de dados adequado, embora a formatação possa ser alterada: Vamos verificar o mesmo usando a interface GUI. Agora temos certeza de que o processo de importação foi bem-sucedido. Vamos ver como fazer o mesmo usando a GUI. Usando uma GUI do MySQL Usaremos o MySQL Workbench, uma das GUIs mais populares para o MySQL. Siga as etapas abaixo para importar um arquivo CSV para um banco de dados MySQL por meio da interface gráfica do usuário. Conexão de um banco de dados No MySQL Workbench, você pode se conectar a qualquer banco de dados clicando no sinal + ao lado de MySQL Connections na página inicial. É exibida uma janela que solicita que você forneça detalhes da conexão, como nome da conexão, método de conexão, nome do host, porta, nome de usuário e senha. Agora, teste sua conexão clicando no botão Test Connection (Testar conexão ). Forneça a senha e, após um teste bem-sucedido, você receberá esta mensagem: Feche as duas janelas clicando no botão OK. Agora podemos prosseguir com a importação de um arquivo CSV. Importação de um arquivo CSV Quando você usa uma GUI, não precisa criar uma tabela antes de importar um arquivo CSV. A primeira etapa é criar um novo esquema (se você quiser usar um novo esquema em vez de um esquema existente). Você pode fazer isso de duas maneiras: Execute o comando CREATE SCHEMA na janela de consulta: Crie um esquema na interface GUI: Depois disso, clique com o botão direito do mouse nas tabelas sob o nome do esquema e escolha a opção Table Import Data Wizard (Assistente de importação de dados de tabela ). Será exibida uma janela que o guiará pelo processo de importação. Agora, escolha o arquivo CSV que você deseja importar e clique em Next (Avançar). Você pode usar uma tabela existente (essa opção exige que você crie uma tabela antes do processo de importação) ou criar uma nova tabela. Aqui, optamos por criar uma nova tabela. O MySQL Workbench detecta o formato do arquivo e sugere a codificação e os tipos de dados de coluna a serem usados. Você pode modificá-los como achar melhor, mas continuaremos com os valores sugeridos. Aqui está o resumo das tarefas que serão executadas: E está pronto! Ao clicar no botão Next, você receberá um relatório detalhado. Agora, podemos fechar o assistente clicando no botão Finish (Concluir ). Vamos verificar o sucesso do processo de importação consultando nossa tabela recém-criada. Não há dúvida de que a importação de um arquivo CSV usando a GUI é mais rápida e menos incômoda do que a importação por linha de comando, mas é bom saber que ambas são possíveis. Para comparar os processos de importação de arquivos CSV em diferentes mecanismos de banco de dados, leia nosso artigo sobre Como importar CSVs para o PostgreSQL usando o PgAdmin. E para saber mais sobre o processo de exportação, How to Export a CSV File From a T-SQL Query (Como exportar um arquivo CSV de uma consulta T-SQL ) apresenta o processo de exportação de um arquivo CSV no mecanismo de banco de dados MS SQL Server. Vamos importar alguns arquivos CSV! Os arquivos CSV são amplamente usados devido à sua simplicidade. Você pode criar um arquivo CSV usando um editor de texto simples, como o Notepad. Os arquivos CSV podem usar ponto e vírgula em vez de vírgulas ou colocar valores entre aspas duplas ou não. Como vimos neste artigo, é fácil importar arquivos CSV para um banco de dados MySQL. Você pode usar a linha de comando ou uma GUI. A melhor maneira de se sentir confortável com qualquer uma das opções é praticar, portanto, vá em frente e experimente este e outros exemplos. Você também pode utilizar nossos cursos interativos de MySQL para aprender mais sobre esse banco de dados. Aqui você encontrará uma visão geral dos cursos em nossa trilha SQL de A a Z in MySQL. Boa sorte! Tags: sql csv