导入大量数据的问题

gzqhxin 2009-08-06 06:02:47
我要把txt文件的内容导入到数据库,格式如下:
txt数据结构(有20几万条,都是不同的)
1 && GDhz00050986 && tcl音像公司 && TCLYXGS && 2612801 && 惠环仲恺高新技术开发区75号小区 && && 日用品 消费品 百货※文化、体育用品及专业器材 && 惠城 && &&


格式对应字段:
未知 && username 用户名 && shopname 企业名 && shortname 企业简称 && tel1 电话 && address 地址 && bus 公交 && classcode 企业分类 (按照需求将会由114话务员重新划分,这里也不需要,填入临时的分类)&& areacode 地区编号 && content 简介 && num

地区编号根据地区获得: switch ($area){
case "惠州市":
$areacode = "10";
break;
case "惠城":
$areacode = "1001";
break;
case "博罗":
$areacode = "1002";
break;
case "惠东":
$areacode = "1003";
break;
case "龙门":
$areacode = "1006";
break;
case "大亚湾":
$areacode = "1005";
break;
case "惠阳":
$areacode = "1004";
break;
default:
$areacode = "10";
}


字段所在表
modoer_members(username,password,groupid,addshops)
modoer_shops(shopname,shortname,classcode,areacode,addname)
modoer_shopfield(shopid,tel1,address,bus,content,num)

请教各位高手应该怎么样才能导入呢


...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
whalefish2001 2009-08-10
  • 打赏
  • 举报
回复
说白了,就是一个按照 && 进行数据拆分,然后插入的过程。
操作是很简单的,
由于你的数据量有些偏大,因此,还是同意楼上所说,先把这些数据 LOAD DATA INFILE 到一个过度的中间表中,然后再处理,插入。
ACMAIN_CHM 2009-08-07
  • 打赏
  • 举报
回复
如楼上几位所言,建议先把你的数据用 LOAD DATA INFILE 到一个过度的中间表中。然后进行处理后再插入到你的正式表中。
nianzhang747 2009-08-07
  • 打赏
  • 举报
回复
太多了 你就可以做个循环插入insert into
没10000条记录做个循环load
可以把txt文件分成几个txt文件进行load
gzqhxin 2009-08-07
  • 打赏
  • 举报
回复
谢谢你让我学到新的知识,但是好像还是不能解决问题哦,如果是几条数据就很容易解决,但是现在是几十万条数据
vinsonshen 2009-08-06
  • 打赏
  • 举报
回复
按上面方法把你的文件的数据导进表后
然后再对该表的数据进行处理插入到你要求的各个表中即可。
vinsonshen 2009-08-06
  • 打赏
  • 举报
回复
假如要导入的文本内容如下:
13570105253,100
sdfsddsfdsf,200
ewweweewew,300
wewewewe,400

创建表并导入:

mysql>create table tb_insert(memo varchar(50),total int);

mysql> load data infile "d:\\phone.txt" into table tb_insert fields terminated
y ',' lines terminated by '\r\n';
Query OK, 4 rows affected (0.00 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 0

mysql> select * from tb_insert;
+-------------+-------+
| memo | total |
+-------------+-------+
| 13570105253 | 100 |
| sdfsddsfdsf | 200 |
| ewweweewew | 300 |
| wewewewe | 400 |
+-------------+-------+
4 rows in set (0.00 sec)

mysql>
gzqhxin 2009-08-06
  • 打赏
  • 举报
回复
能说清楚点吗?是txt文档来的哦,而且数据比较大,然后表要怎么关联?
fcoolx 2009-08-06
  • 打赏
  • 举报
回复
把有的列先导入
之后按switch 语句 写几个Update就解决啦

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧