請教論壇的小伙伴們,我怎么樣批量將檔案夾名字和檔案名做分別作為一列匯入到Mysql資料庫中。
我目前新建了一個表date20170801A,現有的欄位代碼是這樣的:
[code=sql]CREATE TABLE `date20170801A` (
`TranID` varchar(255) DEFAULT NULL COMMENT '訂單編號',
`Time` varchar(255) DEFAULT NULL COMMENT '成交時間',
`Price` varchar(255) DEFAULT NULL COMMENT '成交價格',
`Volume` varchar(255) DEFAULT NULL COMMENT '成交股數',
`SaleOrderVolume` varchar(255) DEFAULT NULL COMMENT '賣方掛單數',
`BuyOrderVolume` varchar(255) DEFAULT NULL COMMENT '買方掛單數',
`Type` varchar(255) DEFAULT NULL COMMENT '成交型別',
`SaleOrderID` varchar(255) DEFAULT NULL COMMENT '賣方掛單號',
`SaleOrderPrice` varchar(255) DEFAULT NULL COMMENT '賣方掛單價',
`BuyOrderID` varchar(255) DEFAULT NULL COMMENT '買方掛單號',
`BuyOrderPrice` varchar(255) DEFAULT NULL COMMENT '買方掛單價'
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
問題如下圖:
我怎樣把這3000多個csv檔案匯入表date20170801A中,并且表自動增加兩個欄位用來標識檔案夾名字和檔案名字

希望高手大神們幫忙解決一下,不管怎么辦法 哪怕給個具體思路也好。謝謝了!
檔案價里面的csv檔案表頭已經與我在mysql里面創建的表date20170801A的欄位是一致的了
uj5u.com熱心網友回復:
給表date20170801A再添兩個欄位不就可以了,如果是java的話是可以直接得到檔案的路徑和檔案名的,存資料的時候一起存啊,其它語言估計也差不多uj5u.com熱心網友回復:
我試過了,不可以呀uj5u.com熱心網友回復:
MYSQL 不是很熟悉,如果是 MS SQL Server的話,可以考慮用 filestream,可對檔案名操作。uj5u.com熱心網友回復:
# 初始增加兩個欄位
alter table date20170801A add column folder_name varchar(20);
alter table date20170801A add column file_name varchar(20);
# 對于每個要匯入的檔案,使用下面的方法
LOAD DATA INFILE '匯入的檔案'
INTO TABLE date20170801A
(與檔案內容對應的欄位串列)
SET folder_name = '目錄名', file_name = '檔案名';
uj5u.com熱心網友回復:
至于LOAD DATA 的具體要求(比如要指定換行符之類),參考官網 LOAD DATA 的語法說明uj5u.com熱心網友回復:
我的檔案夾下面有3000多個csv檔案 也就是說每個檔案匯入都執行一遍檔案匯入的代碼 是嗎
uj5u.com熱心網友回復:
Powershell 腳本dir 檔案據在目錄 *.csv |%{
$f,$fn,$fd=$_.FullName, $_.Name, $_.Dicrecory
@"
LOAD DATA INFILE '$f'
INTO TABLE date20170801A
(與檔案內容對應的欄位串列)
SET folder_name = '$fd', file_name = '$fn';
"@ } | mysql -h localhost -u xx -pxxx db
uj5u.com熱心網友回復:
謝謝
你說的兩種方法我都去試驗一遍看看
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/149600.html
標籤:疑難問題
上一篇:GPRMAX
下一篇:如何用Java表示數學公式
