ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 7500|回复: 12

[Tips] mysqldump可以指定导出一个表中的某几列吗? [复制链接]

注册会员

初级会员

精华贴数
0
技术积分
90
社区积分
0
注册时间
2002-3-25
论坛徽章:
0
发表于 2004-8-11 11:52:39 |显示全部楼层
表中有一个primary字段,不想把它导出去:(
多谢!

注册会员

资深会员

精华贴数
0
技术积分
1790
社区积分
66
注册时间
2002-3-4
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
发表于 2004-8-11 12:06:04 |显示全部楼层
恐怕不行,还是用select into的方式吧
e.g.
mysql>SELECT field1,field2 FROM mytable INTO OUTFILE '/backup/outfile.txt';

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
90
社区积分
0
注册时间
2002-3-25
论坛徽章:
0
发表于 2004-8-11 12:09:21 |显示全部楼层
select into 需要进入命令行模式,但是我想把导出过程封装起来,之让用户从GUI 上点击一下就把导出,导入做好了。用select into 可以做到吗?

使用道具 举报

注册会员

资深会员

精华贴数
0
技术积分
1790
社区积分
66
注册时间
2002-3-4
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
发表于 2004-8-11 12:13:52 |显示全部楼层
当然可以,你用脚本语言如PHP,ASP等做好前端用户界面,sql语句使用select into,然后用户只要通过WEB浏览器就可以实现导出、导入了。当然导出的目录你要给予相应的写入权限

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
90
社区积分
0
注册时间
2002-3-25
论坛徽章:
0
发表于 2004-8-11 12:46:11 |显示全部楼层
好,谢谢。我试一下。

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
90
社区积分
0
注册时间
2002-3-25
论坛徽章:
0
发表于 2004-8-11 13:14:33 |显示全部楼层
我要写一个脚本来调用mysql,但是接下来的sql命令怎么写在脚本里面呢?
#!/usr/bin/ksh

${MYSQL_HOME}/bin/mysql -uroot -proot
use MyDatabase      //比如说打开数据库这一句,该怎么写在脚本里面呢?

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
90
社区积分
0
注册时间
2002-3-25
论坛徽章:
0
发表于 2004-8-11 13:36:29 |显示全部楼层
刚才看到帮助里写可以这样打开数据库,
${MYSQL_HOME}/bin/mysql -uroot -proot -DMyDatabase

但是select * from Table into这个sql语句怎么写在脚本里面?

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
90
社区积分
0
注册时间
2002-3-25
论坛徽章:
0
发表于 2004-8-11 13:57:14 |显示全部楼层
搞定了。:)
${MYSQL_HOME}/bin/mysql -upublic -ppublic -DMyDatabase -e"SELECT * INTO OUTFILE '/tmp/MyTable.txt' FIELDS TERMINATED BY ',' FROM MyTable"

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
90
社区积分
0
注册时间
2002-3-25
论坛徽章:
0
发表于 2004-8-11 16:41:12 |显示全部楼层
导入的时候出问题了:(
导出时的语句:
${MYSQL_HOME}/bin/mysql -upublic -ppublic -DMyDatabase -e"SELECT field1,field2,field3 INTO OUTFILE '/tmp/MyTable.temp
' FIELDS TERMINATED BY '#' FROM MyTable"

导入的语句:
${MYSQL_HOME}/bin/mysql -upublic -ppublic -DMyDatabase -e"LOAD DATA INFILE '/tmp/MyTable.temp' INTO TABLE MyTable(field1,field2,field3) FIELDS TER
MINATED BY '#'"

但是报错:
ERROR 1064 at line 1: You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIELDS TERMINATED BY '#'' at line 1

我觉得我的语法没有错误啊,大家帮忙给看看,谢谢!

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
90
社区积分
0
注册时间
2002-3-25
论坛徽章:
0
发表于 2004-8-11 16:56:31 |显示全部楼层
又解决了:)
${MYSQL_HOME}/bin/mysql -upublic -ppublic -DMyDatabase -e"LOAD DATA INFILE '/tmp/MyTable.temp' INTO TABLE MyTable FIELDS TER
MINATED BY '#'"
(field1,field2,field3)

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部