Home >Backend Development >PHP Tutorial >请教一个问题,如何把txt导入数据库

请教一个问题,如何把txt导入数据库

WBOY
WBOYOriginal
2016-06-23 14:14:49988browse

假[i]设现在拿到一个CSDN所有用户和密码的txt,里面有30W的数据,第一列是用户名,第二列是密码,第三列是邮箱。

然后再拿到一个天涯的txt,但是第一列是邮箱,第二列是用户名,第三列密码。
还有更多排列不一致的txt。

我想做一个通用的导入程序,如何能使不同的txt文件都能按照 “用户名-密码-邮箱”这样的方式存入数据库相应的字段呢,这样就能方便的在数据库查询,谢谢!


回复讨论(解决方案)

那么大的数据量,建议用mysql临时表来做。

你可以使用 LOAD DATA INFILE 指令高速导入数据
但如果数据文件的编码与 character_set_database 不同的话,那就只有逐行导入了

导入前都需有一个用户交互页面来人工确认导入的次序

你可以使用 LOAD DATA INFILE 指令高速导入数据
但如果数据文件的编码与 character_set_database 不同的话,那就只有逐行导入了

导入前都需有一个用户交互页面来人工确认导入的次序

导入前都需有一个用户交互页面来人工确认导入的次序
按照您的意思,是否意味着当我选择上传一个文件的时候,让php读取文件的第一行(通常第一行和下面的格式是一样的,只是长度不同),选择后让php自动读取并匹配?

是的,表的哪一字段对应数据的哪一列,这是必须要核对清楚的

是的,表的哪一字段对应数据的哪一列,这是必须要核对清楚的

感谢您的回复

php循环应该可以,不知效率如何了。

这个很简单啊,就是取数据和存数据两个过程,取得时候判断下第一列是否是邮箱,如果是邮箱那么第二列是用户名,第三列密码。如果不是则第一列是用户名,第二列是密码,第三列是邮箱。然后拼成你想要的字符串,再存进数据库就可以了啊。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn