需求是将表中指定日期的数据保存为"insert 语句"的脚本select * from test where test.A_time < '20101103'into OUTFILE 'D:\\test.sql';
这样语句是导出的是数据而不是“insert”脚本语句
mysqldump 函数不能用JDBC执行吗 ?如果能执行怎么支持查询语句导出?数据量比较大,不考虑用JDBC查出来拼SQL的方式。
这样的需求应该怎么实现?

解决方案 »

  1.   

    mysqldump不是函数,在系统的DOS命令行下运行
      

  2.   

    哦  能通过远程执行吗 ?数据库安装在别的机器上。除了这个命令还有什么办法导出insert语句啊?
      

  3.   

    你可以将文件COPY到客户端,要知道相应的用户及密码,目前没有其它方式达到目的
      

  4.   

    mysqldump 导出的文件只有INSERT,好像很困难吧。远程连接倒是可以,只要用户名称,密码,端口就行了。
      

  5.   


    其实我就是上面的需求将表中指定日期的数据保存为"insert 语句"的脚本! select * from t_actioninfo  into dumpfile 'd:\\testt.sql' ;用这个好像可以,但是报错了,“1172,result  consisted of more than one row”
    into dumpfile 怎么用啊????
      

  6.   

    ·         如果您使用INTO DUMPFILE代替INTO OUTFILE,则MySQL只把一行写入到文件中,不对任何列或行进行终止,也不执行任何转义处理。如果您想要把一个BLOB值存储到文件中,则这个语句是有用的。导出来的并不是insert 语句。只是数据。
      

  7.   

    其实我就是上面的需求将表中指定日期的数据保存为"insert 语句"的脚本! 这样用MYSQLDUMP导出,根据需要再处理掉一些内容,只剩下INSERT语句。你保存下的脚本是做为备份么?还是有其他用处?
      

  8.   


    但是服务器和WEB容器有可能不在同一个机器上,用MYSQLDUMP导出的数据在数据库所在的机器上,这个备份数据不能下载到客户
      

  9.   

    如果你的客户机能够访问到数据库所在的机器,那么可以在客户机上装个MYSQL,然后DUMP远程的数据库
    mysqldump -uroot -p123 -E -R --opt -h192.168.1.100 db>c:\db.sql这样就直接备份到客户机上了。
      

  10.   

    我现在采用查数据然后拼SQL写到文件的方式做的。客户机太多了,不能保证每个都装数据库
      

  11.   

    到数据库服务器建个共享文件夹啊,或者搞个FTP服务器,每个客户机到这里来取文件。