C# mysql批量插入文本文件
我有一个纯文本文件,我想将该文本文件的内容逐行移动到mysql表中。任何人都可以帮助我,因为它不是csv文件。我如何实现这一点 我的数据库设计如下C# mysql批量插入文本文件,c#,asp.net,mysql,C#,Asp.net,Mysql,我有一个纯文本文件,我想将该文本文件的内容逐行移动到mysql表中。任何人都可以帮助我,因为它不是csv文件。我如何实现这一点 我的数据库设计如下 RowID, int(11), NO, PRI,auto_increment Text, varchar(94) // Here i have to insert line by line RecordType, varchar(50) 内容样本 123456789007 545654665654654 6344534534543534534 78
RowID, int(11), NO, PRI,auto_increment
Text, varchar(94) // Here i have to insert line by line
RecordType, varchar(50)
内容样本
123456789007
545654665654654
6344534534543534534
786775645654654646
8456546456456546
9078565656546546546456456456
一些PHP脚本将以一种灵活而简单的方式实现这一点。您需要提供有关文本文件格式和数据库模式的更多详细信息(文本文件中的一些示例)
另一个解决方案可能只是构建一个VBA宏,将文本文件转换为有效的CSV文件。然后使用phpMyAdmin之类的工具将CSV文件上传到DB一些PHP脚本将以一种灵活而简单的方式实现这一点。您需要提供有关文本文件格式和数据库模式的更多详细信息(文本文件中的一些示例)
另一个解决方案可能只是构建一个VBA宏,将文本文件转换为有效的CSV文件。然后使用phpMyAdmin之类的工具将CSV文件上载到DB如果您的文件类似于CSV,则可以使用语句 像这样的文本文件(下面的示例),您可以在中使用数据导入工具(文本格式)加载。它支持标题并跳过不必要的行
================================================================
| actor_id | first_name | last_name |
================================================================
| 1 | PENELOPE | GUINESS |
----------------------------------------------------------------
| 2 | NICK | WAHLBERG |
----------------------------------------------------------------
| 3 | ED | CHASE |
----------------------------------------------------------------
| 4 | JENNIFER | DAVIS |
----------------------------------------------------------------
| 5 | JOHNNY | LOLLOBRIGIDA |
----------------------------------------------------------------
| 6 | BETTE | NICHOLSON |
----------------------------------------------------------------
| 7 | GRACE | MOSTEL |
----------------------------------------------------------------
| 8 | MATTHEW | JOHANSSON |
----------------------------------------------------------------
| 9 | JOE | SWANK |
----------------------------------------------------------------
| 10 | CHRISTIAN | GABLE |
----------------------------------------------------------------
如果您的文件类似于CSV,则可以使用语句 像这样的文本文件(下面的示例),您可以在中使用数据导入工具(文本格式)加载。它支持标题并跳过不必要的行
================================================================
| actor_id | first_name | last_name |
================================================================
| 1 | PENELOPE | GUINESS |
----------------------------------------------------------------
| 2 | NICK | WAHLBERG |
----------------------------------------------------------------
| 3 | ED | CHASE |
----------------------------------------------------------------
| 4 | JENNIFER | DAVIS |
----------------------------------------------------------------
| 5 | JOHNNY | LOLLOBRIGIDA |
----------------------------------------------------------------
| 6 | BETTE | NICHOLSON |
----------------------------------------------------------------
| 7 | GRACE | MOSTEL |
----------------------------------------------------------------
| 8 | MATTHEW | JOHANSSON |
----------------------------------------------------------------
| 9 | JOE | SWANK |
----------------------------------------------------------------
| 10 | CHRISTIAN | GABLE |
----------------------------------------------------------------
请参见请参见不清楚您是否需要这样做一次/很少或作为系统的一部分 在服务器端,您可以使用
LOAD DATA LOCAL INFILE '<file name>' INTO TABLE <table>;
将数据本地填充“”加载到表中;
请参阅语法以
- 更改行终止字符串
- 跳过行
- 在同一命令中将值指定给RecordType
LOAD DATA LOCAL INFILE '<file name>' INTO TABLE <table>
(@Text)
SET Text=@Text
将数据本地填充“”加载到表中
(@Text)
SET Text=@Text
不清楚您是否需要这样做一次/很少或作为系统的一部分
在服务器端,您可以使用
LOAD DATA LOCAL INFILE '<file name>' INTO TABLE <table>;
将数据本地填充“”加载到表中;
请参阅语法以
- 更改行终止字符串
- 跳过行
- 在同一命令中将值指定给RecordType
LOAD DATA LOCAL INFILE '<file name>' INTO TABLE <table>
(@Text)
SET Text=@Text
将数据本地填充“”加载到表中
(@Text)
SET Text=@Text
试试这个
LOAD DATA local INFILE 'C:/Documents and Settings/Administrator/Desktop/Merge.txt'
INTO TABLE tblachmaster
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
试试这个
LOAD DATA local INFILE 'C:/Documents and Settings/Administrator/Desktop/Merge.txt'
INTO TABLE tblachmaster
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
如果我写了这个
将数据填充'c:\ACH1.txt'加载到表tblACHDATA
我得到了一个错误,因为c:ACH1.txt not foundLOCAL很重要,试试看。Semms windoze希望反斜杠是前斜杠,c:\是c:/(我不会在win上运行mysql)。谷歌是你的朋友。请阅读本地部分的文档。如果使用本地位置,则您的文件应可供客户端使用,如果没有本地位置,则应供服务器使用。但是请阅读相关路径的详细信息,然后还有mysql进程的安全性和权限等。。。底线是,这是可行的,mysql文档可能并不完美,但并没有错。使用它们。如果我写这个将数据填充'c:\ACH1.txt'到表tblACHDATA
我收到一个错误,因为c:ACH1.txt not foundLOCAL很重要,试试看。Semms windoze希望反斜杠是前斜杠,c:\是c:/(我不会在win上运行mysql)。谷歌是你的朋友。请阅读本地部分的文档。如果使用本地位置,则您的文件应可供客户端使用,如果没有本地位置,则应供服务器使用。但是请阅读相关路径的详细信息,然后还有mysql进程的安全性和权限等。。。底线是,这是可行的,mysql文档可能并不完美,但并没有错。使用它们。你能比“逐行”更精确吗。我假设您的意思是文本文件实际上是单列(text)。如果是的话,你可以考虑你的文本文件CSV(即使它不包含逗号)。如果它有多个列,它就不是多个列,那么请提供文本文件的示例。那么答案的质量会更好。在你的内容样本中,我只能看到一列。行是多行的。可以安全地考虑CSV(或者Tab分隔符,或者因为没有多个列而没有分隔符的任何分隔符)。我假设您的意思是文本文件实际上是单列(text)。如果是的话,你可以考虑你的文本文件CSV(即使它不包含逗号)。如果它有多个列,它就不是多个列,那么请提供文本文件的示例。那么答案的质量会更好。在你的内容样本中,我只能看到一列。行是多行的。安全考虑CSV(或选项卡分隔,或任何分隔,因为没有多栏,没有分隔符)。