关于mysql数据库表从服务器到客户端的备份问题:
如何用sql语句实现?或者用API中的函数实现?
以下是我在网上搜到的:
SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;
这个可以实现吗?a,b又分别代表什么呢?
希望大家尽快回复,谢谢了哈~

解决方案 »

  1.   

    备份某个库
    mysqldump -hxxx -uxxx -pxxx dbname> c:\xxx
    select a,b,a+b from tba,b都是列,第三列是a+b的和
      

  2.   

    还是不太明白 嘿嘿~ 如果我要备份整个表,直接写select * 就可以了吗?
      

  3.   

    mysqldump -uxxx -pxxx dbname tbname >tbname.sql
      

  4.   

    谢谢您的回复~ 小妹初学,还是有些不解:这不是命令吗?我怎么用到我的程序中呀?可以嵌入mysql_real_query()函数中吗?谢谢~
      

  5.   

    如果是在程序中,用SELECT INTO OUTFILE
      

  6.   

    这个可以实现吗?a,b又分别代表什么呢?如果你要用API调用,则还是直接用这个SELECT 。。OUTFILE 吧。 这个A,B代码字段名。和普通的SELECT语句相同的写法。
    如果更详细的说明,建议楼主参考一下MYSQL官方手册中的说明和例子。
      

  7.   

    首先谢谢5楼 6楼 的回复~
    我本来就是用的SELECT * INTO OUTFILE 'xin.txt' FROM t_xin;
    我要实现的功能是:将192.168.1.10上的数据库xin_db中的表t_xin备份到我自己PC(192.168.0.10)上的虚拟机上。
    所以我用SELECT * INTO OUTFILE 'xin.txt' FROM t_xin;
    好像只能将表备份到1.10上,也就是说xin.txt还是在1.10上。
    但是我必须得让xin.txt在我自己的0.10上才可以用load data 实现数据的加载吧?所以,怎样才可以将1.10上的表备份到0.10上呢?用SQL实现
    谢谢~
      

  8.   

    在你的C语句直接去调 mysqldump.exe 
      

  9.   

    首先进入mysql的安装目录,然后调用mysqldump命令即可。
    例如:
    步骤1:cd C:\Program Files\MySQL\MySQL Server 5.5\bin
    步骤2:
    mysqldump -u root -p dbn > backup-file.sql