免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4726 | 回复: 11
打印 上一主题 下一主题

可否在导入数据的同时创建一个新表? [复制链接]

tvb 该用户已被删除
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-17 23:31 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
2 [报告]
发表于 2007-11-17 23:31 |只看该作者

感觉放在程序里处理比较合适,以下代码理论意义大于实际意义:

注意我这里的回车,根据需要自己修改吧。
CREATE DATABASE IF NOT EXISTS test;
USE test;
SET @a=LOAD_FILE('/1.txt');
SET @a=LEFT(@a,INSTR(@a, "\n"));
SET @a=REPLACE(@a,"\t"," CHAR(10),");
SET @a=REPLACE(@a,"\r"," CHAR(10)");
SET @a=CONCAT("CREATE TABLE testtable (",@a,")");
DROP TABLE IF EXISTS testtable;
PREPARE stmt FROM @a;
EXECUTE stmt;
LOAD DATA INFILE '/1.txt'
  INTO TABLE testtable
  FIELDS TERMINATED BY "\t"
  LINES TERMINATED BY "\r\n"
  IGNORE 1 LINES;
SELECT * FROM testtable;

论坛徽章:
0
3 [报告]
发表于 2007-11-17 23:49 |只看该作者
1:先建立表结构

2:然后 LOAD DATA INFILE 'file_name' INTO TABLE tbl_name

3:删除第一行
tvb 该用户已被删除
4 [报告]
发表于 2007-11-17 23:56 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2007-11-19 09:48 |只看该作者
不行的,MySQL 没有这个功能,必须先新建表。
另外 LOAD DATA ... IGNORE 1 LINES 可以跳过第一行。

论坛徽章:
0
6 [报告]
发表于 2007-11-19 18:23 |只看该作者
导入到ACC里面再导出到MYSQL
tvb 该用户已被删除
7 [报告]
发表于 2007-11-19 18:44 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
tvb 该用户已被删除
8 [报告]
发表于 2007-11-19 18:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2007-11-19 22:28 |只看该作者
还是 sunnyfun 人好!

论坛徽章:
0
10 [报告]
发表于 2007-11-20 09:28 |只看该作者
原帖由 tvb 于 2007-11-19 18:48 发表


请问ACC是不是微软的ACCESS?  这个软件支持自动将文件的第一行生成为表格的字段吗?



当然支持,导入文本的时候选择第一行包含字段名即可!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP