我遇到了問題,經過幾個小時的研究,我只想死。在一個數據庫中將大量CSV數據導入新的MySQL表中
有沒有辦法將大量CSV數據導入到一個MySQL數據庫中,但是使用CSV數據的文件名創建新表?
示例:如果我將data1.csv
導入到db
中,該表應該命名爲data1
,其中所有數據來自data1.csv
。
感謝您的建議和解答。
我遇到了問題,經過幾個小時的研究,我只想死。在一個數據庫中將大量CSV數據導入新的MySQL表中
有沒有辦法將大量CSV數據導入到一個MySQL數據庫中,但是使用CSV數據的文件名創建新表?
示例:如果我將data1.csv
導入到db
中,該表應該命名爲data1
,其中所有數據來自data1.csv
。
感謝您的建議和解答。
沒有內置的工具/方法/命令/查詢來完成您希望在MySQL內部單獨完成的任務。
需要的是2部分。
1st。當然你的MySQL DB將創建表。
2nd。一些可以與你的數據庫交互的第三方程序。例如。 (Java,JavaScript,Python,甚至是Unix shell腳本)
以下是sudo需要的示例。
這個程序將要做的事情是相對簡單的。
這將需要幾個輸入:
數據庫的IP,用戶名,密碼(可以將這些參數傳遞到你的程序,或者用於測試硬直接編碼到程序簡單)
下一個輸入將是你的文件名。 data1.csv
使用輸入,程序將收集'data1'名稱以及data1.csv文件的第一行,以命名每列。
一旦程序收集這些信息,它可以連接到數據庫,並運行MySQL語句CREATE TABLE TableName (RowName1 VARCHAR(255), RowName2 VARCHAR(255), ect...)
最後,它可以做一個MySQL命令導入他* .csv文件到新創建的表。例如。
LOAD DATA LOCAL INFILE 'C:/Stuff/csvFiles/Data1.csv'
INTO TABLE `SchemaName`.`Data1`
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
希望這有助於明確你的選擇一種方法。
https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-table.html – ldgorman
這看起來好像它涵蓋了它... https://stackoverflow.com/questions/9998596 /創建MySQL的表-直接從 - 使用最CSV-存儲引擎CSV-文件。 ESP。 csvkit似乎能夠做到這一點。 –
@Idgorman在MySQL-Workbench中一次只能導入一個CSV數據是不可能的 – ThaFlaxx