#csv数据快速导入
本章将对YashanDB内置数据导入工具yasldr进行介绍及提供基础示例。
yasldr是YashanDB提供的客户端导入工具,用于执行CSV格式的数据文件导入,每次导入单个数据文件至单个表中,有关yasldr工具的具体使用语法及限制可参考yasldr使用指导章节。
# 导入前准备
准备导入数据文件:
以安装用户登录数据库所在服务器,在HOME目录执行如下命令创建
datafile文件:$ vi datafile将如下内容写入
datafile文件中:1|load|101 2|load|201按Esc,输入
:wq保存并退出文件编辑。
准备导入用户:
执行如下命令连接YashanDB数据库,请将
password更改成设置的sys用户密码:$ yasql sys/password YashanDB SQL Personal Edition Release 23.2.11.100 x86_64 Connected to: YashanDB Server Personal Edition Release 23.2.11.100 x86_64 - X86 64bit Linux SQL>执行如下SQL语句创建用户
yasldr_user,并为其指定密码yasldr:CREATE USER yasldr_user IDENTIFIED BY yasldr;执行如下SQL语句为
yasldr_user用户授予登录会话和创建资源的权限:GRANT CONNECT TO yasldr_user; GRANT RESOURCE TO yasldr_user;执行如下SQL语句切换至
yasldr_user用户:conn yasldr_user/yasldr Connected to: YashanDB Server Personal Edition Release 23.2.11.100 x86_64 - X86 64bit Linux
准备数据文件导入的目标表,本文以创建表
loadData为例:CREATE TABLE loadData (c1 INT,c2 CHAR(10),c3 INT);执行如下命令退出YashanDB数据库:
SQL> exit $
# 数据导入
在数据库所在服务器中执行如下命令,将
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.11.100 x86_64 297f388 2 rows successfully loaded. Check /home/yashan/datafile.log for more info. [YASLDR] execute succeeded如上命令将
datafile文件中数据根据|进行分隔,分别导入loadData表中的c1、c2和c3列字段中。
# 验证数据
执行如下命令登录数据库:
$ yasql yasldr_user/yasldr YashanDB SQL Personal Edition Release 23.2.11.100 x86_64 Connected to: YashanDB Server Personal Edition Release 23.2.11.100 x86_64 - X86 64bit Linux SQL>执行如下SQL语句查看表
loadData中数据:SELECT c1,c2,c3 FROM loadData; C1 C2 C3 ------------ ------------- ------------ 1 load 101 2 load 201

