#csv数据快速导入

本章将对YashanDB内置数据导入工具yasldr进行介绍及提供基础示例。

yasldr是YashanDB提供的客户端导入工具,用于执行CSV格式的数据文件导入,每次导入单个数据文件至单个表中,有关yasldr工具的具体使用语法及限制可参考yasldr使用指导章节。

# 导入前准备

  1. 准备导入数据文件:

    1. 以安装用户登录数据库所在服务器,在HOME目录执行如下命令创建datafile文件:

      $ vi datafile
      
    2. 将如下内容写入datafile文件中:

      1|load|101
      2|load|201
      
    3. Esc,输入:wq保存并退出文件编辑。

  2. 准备导入用户:

    1. 执行如下命令连接YashanDB数据库,请将password更改成设置的sys用户密码:

      $ yasql sys/password
      YashanDB SQL Personal Edition Release 23.2.9.100 x86_64
      
      Connected to:
      YashanDB Server Personal Edition Release 23.2.9.100 x86_64 - X86 64bit Linux
      
      SQL> 
      
    2. 执行如下SQL语句创建用户yasldr_user,并为其指定密码yasldr:

      CREATE USER yasldr_user IDENTIFIED BY yasldr;
      
    3. 执行如下SQL语句为yasldr_user用户授予登录会话和创建资源的权限:

      GRANT CONNECT TO yasldr_user;
      GRANT RESOURCE TO yasldr_user;
      
    4. 执行如下SQL语句切换至yasldr_user用户:

      conn yasldr_user/yasldr
      
      Connected to:
      YashanDB Server Personal Edition Release 23.2.9.100 x86_64 - X86 64bit Linux
      
  3. 准备数据文件导入的目标表,本文以创建表loadData为例:

    CREATE TABLE loadData (c1 INT,c2 CHAR(10),c3 INT);
    
  4. 执行如下命令退出YashanDB数据库:

    SQL> exit
    $ 
    

# 数据导入

  1. 在数据库所在服务器中执行如下命令,将datafile文件中数据导入至yasldr_user用户的loadData表中:

    $ yasldr yasldr_user/yasldr batch_size=4032 control_text="'LOAD DATA OPTIONS(DEGREE_OF_PARALLELISM=2) INFILE '/home/yashan/datafile' FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '\"' APPEND INTO TABLE loadData(c1,c2,c3) '"
    
    YashanDB Loader Release 23.2.9.100 x86_64 297f388   
    2 rows successfully loaded.
    Check /home/yashan/datafile.log for more info.
    [YASLDR] execute succeeded
    

    如上命令将datafile文件中数据根据|进行分隔,分别导入loadData表中的c1、c2和c3列字段中。

# 验证数据

  1. 执行如下命令登录数据库:

    $ yasql yasldr_user/yasldr
    YashanDB SQL Personal Edition Release 23.2.9.100 x86_64
    
    Connected to:
    YashanDB Server Personal Edition Release 23.2.9.100 x86_64 - X86 64bit Linux
    
    SQL> 
    
  2. 执行如下SQL语句查看表loadData中数据:

    SELECT c1,c2,c3 FROM loadData;
    
              C1 C2                      C3
    ------------ ------------- ------------
               1 load                   101
               2 load                   201
    
pdf-btn 下载文档
copy-btn 复制链接