我想把服务器上的greenplum数据库的某一张表的数据导出到我本地的一个文本文件(例如test.txt)
COPY命令在服务器上是好用的
但是我想用这个命令将数据导出到我本机时就不好用了
而且我想用jdbc连接数据库  实现导出数据
所以请问一下,这条sql语句要怎么写?

解决方案 »

  1.   

    selec * from tb_name into outfile "d://test.txt" fields terminated by ',' lines terminated by '\r\n';
      

  2.   

    如果你想的是表数据的对应SQL(即insert那部分语句),则你先在你本地装个mysql,然后通过你的程序调用
    mysqldump -hhostname -uroot -ppassword db_name --tables=表名 --no-create-info > "本地路径txt文件"
      

  3.   

    使用PSQL OR MYSQL?
    MYSQL:
    selec * from tT into outfile "J://ZZ//test.txt" ;
      

  4.   

    psql语句?
    你是指oracle里面的plsql还是mysql?
      

  5.   

    如果你是想查询结果集的文件,又不想在服务器上生成然后传回本地的话,那你只好直接在程序里处理
    select * from tb_name的结果集了
      

  6.   

    PostgreSQL  中没有这种SQL命令。
    你用的是什么客户端?很多软件带有这种功能比如 toad
      

  7.   

    mysql -u root -p -e "select * from test.B" >D:\1.txt
      

  8.   


    客户端是PostgreSQL啊
    那要是想用jdbc来从数据库导出是不可行的了?
      

  9.   

    这条语句不好用啊
    我用的是PostgreSQL啊
      

  10.   

    这个是mysql的语句吧    不是greenplum的语句吧
      

  11.   

    单独备份一个表:
    pg_dump -t tablename mydatabase > outfile
      

  12.   


    用JDBC直接用SQL语句不可行。但你可以用JAVA程序把表的内容生成一个TXT文件(CSV)格式的。
      

  13.   

    我要的就是这个操作
    要怎么写sql呢?
      

  14.   

    我就是想把数据倒出到TXT文本文件
      

  15.   

    java 通过打开记录集,然后将生成一个文本文件,再逐记录写入到这个文件中去。
      

  16.   

    psql -h serverIP -d dcm -U gpadmin -c "select * from public.test_table2;" > d:\temp\test.txt在我本机命令行中输入行语句是可用的
    但是这个语句不能在jdbc里调
    我想问一下存储过程或者其他语言(C或C++等)能实现在命令行输入上述语句的功能吗?
      

  17.   

    不应该在jdbc里面调用,应该模拟系统环境(如cmd)来调用就可以了
      

  18.   

    psql -h serverIP -d dcm -U gpadmin -c "select * from public.test_table2;" > d:\temp\test.txt ---------------------------
    那说明“> d:\temp\test.txt “这段只能在服务器,在mysql里面这个样式也只能在服务器
    所以,建议你的实现目前有2种可行吧:
    1、在服务器生成文件,然后下载回本地;
    2、程序直接在jdbc里面select 出结果集,然后把这个结果集的数据写进文件(用程序读recordset然后写进文件)。