Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 远程数据和批量操作 » 导入和导出数据 » 导出数据

 

使用 OUTPUT 语句导出数据

使用 OUTPUT 语句从数据库中导出查询结果、表或视图。

涉及兼容性问题时,OUTPUT 语句十分有用,因为该语句能够以多种不同的文件格式写出 SELECT 语句的结果集。可以使用缺省输出格式,也可以在每个 OUTPUT 语句上指定文件格式。Interactive SQL 可以执行包含多个 OUTPUT 语句的命令文件。

Interactive SQL 缺省输出格式在 Interactive SQL [选项] 窗口(在 Interactive SQL 中选择 [工具] » [选项] 来访问)的 [导入/导出] 选项卡上指定。

可以在以下情况下使用 Interactive SQL OUTPUT 语句:

  • 要以非文本格式导出表或视图的全部或一部分

  • 希望使用命令文件自动执行导出过程

 对数据库的影响
 示例
 ♦  使用 OUTPUT 语句 (Interactive SQL) 导出数据到 Excel 文件
  1. 在 Interactive SQL 中,连接到 SQL Anywhere 数据库。

  2. 执行一条使用 READONLY 子句的 OUTPUT 语句。例如:

    SELECT * FROM SalesOrders;
    OUTPUT USING 'Driver=Microsoft Excel Driver (*.xls);
    DBQ=c:\\test\\sales.xls;
    READONLY=0' INTO "newSalesData";

    由此将新建一个名为 sales.xls 的 Excel 文件。它将包含一个名为 newSalesData 的工作表。

    请注意,Microsoft Excel 驱动程序为 32 位,因而此示例需要 32 位版本的 Interactive SQL。

 ♦  导出数据到 CSV 文件
  1. 在 Interactive SQL 中,连接到 SQL Anywhere 数据库。

  2. 执行包含 FORMAT TEXT、QUOTE '"' 和 WITH COLUMN NAMES 子句的 OUTPUT 语句,在文件首行创建逗号分隔格式的列名。字符串值将被用引号括起来。

    SELECT * FROM SalesOrders; 
    OUTPUT TO 'c:\\test\\sales.csv' 
        FORMAT TEXT
        QUOTE '"'
        WITH COLUMN NAMES;