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

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

 

使用 INPUT 语句导入数据

使用 INPUT 语句可将不同文件格式的数据导入现有表或新表中。如果有数据库的 ODBC 驱动程序,可使用 USING 子句从不同类型的数据库和不同版本的 SQL Anywhere 数据库导入数据。

使用 INPUT 语句可以从 TEXT 和 FIXED 格式导入数据。要从其它文件格式导入数据,可以将 USING 子句和 ODBC 数据源一起使用。

可以使用缺省输入格式,或者为每个 INPUT 语句指定文件格式。因为 INPUT 语句是 Interactive SQL 命令,所以不能在任何复合语句(例如 IF 语句)或存储过程中使用 INPUT 语句。

如果要从文件或其它数据库导入数据,请使用 INPUT 语句。

有关详细信息,请参见INPUT 语句 [Interactive SQL]

有关实例化视图的注意事项

对于快速视图,如果尝试将批量数据装载到基础表,将会返回错误。必须首先在视图中截断数据,然后再执行批量装载操作。

对于手动视图,可以将批量数据装载到基础表。但是,视图中的数据会一直保持失效状态,直到下次刷新为止。

在尝试执行批量装载操作(例如,对表执行 INPUT)之前,请首先考虑在相关的实例化视图中截断数据。装载数据之后,请刷新视图。请参见TRUNCATE 语句REFRESH MATERIALIZED VIEW 语句

有关文本索引的注意事项

对于快速文本索引,在执行了批量装载操作(例如对基础表执行 INPUT)之后更新文本索引可能需要一些时间,即使自动执行更新也是如此。对于手动文本索引,即使是刷新也可能需要一些时间。

在执行批量装载操作(例如,对表执行 INPUT)之前,请首先考虑删除相关的文本索引。装载数据之后,重新创建文本索引。请参见DROP TEXT INDEX 语句CREATE TEXT INDEX 语句

对数据库的影响

使用 INPUT 语句时更改将记录在事务日志中。如果发生介质故障,则有详细的更改记录。但由于此方法将所有行都写入事务日志,所以使用此方法导入大量数据会对性能产生影响。

相比之下,LOAD TABLE 语句不会将每一行都保存在事务日志中,因此执行速度比 INPUT 语句快。但是就支持的数据库和文件格式而言,INPUT 语句更加灵活。

♦  导入数据(INPUT 语句)
  1. 使用以下值(在一行中输入)创建并保存名为 new_employees.txt 的文本文件:

    101,500,'Chan','Julia',100,'300 Royal Drive',
    'Springfield','OR','USA','97015','6175553985',
    'A','017239033',55700,'1984-09-29',,'1968-05-05',
    1,1,0,'F'
  2. 打开 Interactive SQL 并连接到 SQL Anywhere 11 Demo 数据库。

  3. 在 [SQL 语句] 窗格中输入 INPUT 语句。

    INPUT INTO Employees
    FROM c:\new_employees.txt
    FORMAT TEXT;
    SELECT * FROM Employees;

    在本语句中,SQL Anywhere 11 Demo 数据库中目标表的名称为 Employees,new_employees.txt 是源文件的名称。

  4. 执行该语句。

    如果导入成功,则 [消息] 选项卡显示导入数据花费的时间。如果导入不成功,则将显示一条消息指示导入不成功的原因。

♦  将数据从 Microsoft Excel 电子表格导入 SQL Anywhere 数据库
  1. 在 Microsoft Excel 中打开电子表格。

  2. 在 Excel 中,选择要导入的单元格,然后选择 [插入] » [名称] » [定义]。

    键入所选单元格的名称,如 myData

  3. 单击 [确定]。

  4. 保存并关闭电子表格。

  5. 为电子表格创建 ODBC 数据源。

    • 选择 [开始] » [程序] » [SQL Anywhere 11] » [ODBC 管理器]。

    • 选择 [用户 DSN] 选项卡,为当前用户创建 DSN,或选择 [系统 DSN] 选项卡创建整个系统范围的 DSN。

    • 单击 [添加]。

      从驱动程序列表中,选择 Microsoft Excel Driver,然后单击 [完成]。

    • 指定所需参数,单击 [确定],关闭该窗口并创建数据源。

      例如,在 [数据源名] 字段中键入 myExcelFile。单击 [选择工作簿] 并浏览找到 Excel 电子表格文件。

    • 单击 [确定] 保存 DSN。

  6. 打开 Interactive SQL 并连接到 SQL Anywhere 数据库。

  7. 执行以下 INPUT 语句,从 Excel 电子表格导入数据并将其保存到名为 t 的新表中:

    INPUT USING 'dsn=myExcelFile;DSN=myExcelFile' 
    FROM "myData" INTO "t" 
    CREATE TABLE ON