首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在工作台中使用SQL"load data“并将文件名填入列

问在工作台中使用SQL"load data“并将文件名填入列
EN

Stack Overflow用户
提问于 2017-02-13 10:12:45
回答 1查看 158关注 0票数 0

因为我使用的是工作台,并且想要加载文本文件数据。我想在列中添加文件名。

让我给你举个例子。

​

我的文本文件: 20170205077.txt

“20170205077.txt”中数据:

代码语言:javascript
复制
1|Something|Something_2, 1|Something|Something_3

另外,查询是

代码语言:javascript
复制
LOAD DATA LOCAL INFILE "20170205077.txt" INTO "DB.TABLE"
    FIELDS TERMINATED BY '|' Lines terminated by ', '

在执行时,我希望表是这样的:

代码语言:javascript
复制
| FileName |userId| data   | data  |
|20170205077|  1  |Something|Something_2|
|20170205077|  1  |Something|Something_3|

如何增强查询?

EN

回答 1

Stack Overflow用户

发布于 2017-02-13 11:17:57

创建bat文件:(例如upload.bat)将其和所有文本文件放在C:\import中(文件夹和文件的名称不能有空格)。然后运行要导入的bat文件

代码语言:javascript
复制
@echo off
setlocal enabledelayedexpansion

FOR %%f IN ("*.txt") DO (
  set old=%%~dpnxf
  set new=!old:\=\\!
  "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -e "load data local infile '"!new!"' IGNORE into table DB.TABLE (userID, data1, data2) FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"""' LINES TERMINATED BY ',' SET Filename = %%nf" -h yourhost -u youruser -pYourpassword YourDB
  echo UPLOAD %%~nxf DONE
)

pause
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42195657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档