LOAD DATA LOCAL INFILE,从txt文件导入数据到mysql表

时间:2021-05-17 03:42:06

目的:利用LOAD DATA LOCAL INFILE方式,将数据从txt文件导入数据到mysql。


过程描述:

txt文件生成部分的代码如下(c#,这段主要是说明我这个txt的内部格式):

   StreamWriter writer = new StreamWriter( "d:\\record.txt", false, Encoding.GetEncoding("gb2312"));
                for (int row = 0; row < dataTable.Rows.Count; row++)
                    for (int col = 0; col < dataTable.Columns.Count; col++)
                        writer.WriteLine(dataTable.Rows[row][col].ToString() + "\t");
                writer.Close();

(说明: dataTable里是从数据库查出来的数据)


生成的d:\\record.txt格式如下:

217
冰火霜剑
3237866
2012-11-28 14:39:45
00010100011100100101100000.....(此字段是个二进制字段)


mysql数据库中,表deletehistory 结构如下,没有自增:

LOAD DATA LOCAL INFILE,从txt文件导入数据到mysql表

LOAD DATA LOCAL INFILE,从txt文件导入数据到mysql表

现在要把文本 d:\\record.txt 中的数据 添加到表deletehistory 里

新建查询,输入以下语句:
LOAD DATA LOCAL INFILE 'D:\\record.txt' into table deletehistory fields terminated by  '/r/n'
或者:
LOAD DATA LOCAL INFILE 'D:/record.txt' into table deletehistory fields terminated by  '/r/n'


运行即可成功。

注意:路径中不要出现中文字符,不然会报错。

如:LOAD DATA LOCAL INFILE 'D:工程代码\工具项目\GameTools\Debug\record.txt' into table deletehistory fields terminated by  '/r/n' 就不行