文档中心

数据导出

SequoiaDB 巨杉数据库支持将集合中的数据导出到 UTF-8 编码的 CSV 格式或者 JSON 格式的数据存储文件。

数据导出 CSV

CSV(Comma-Separated Value)是一种最为常见的数据库间通用数据交换格式标准之一,以逗号作为字段分隔符,空行作为记录分隔符,并以纯文本形式存储的表格数据文件。CSV 格式定义在 RFC 4180 文档中进行了详细描述。

用户可以使用 SequoiaDB 巨杉数据库提供的 sdbexprt 工具集合中的数据导出到 CSV 数据存储文件中。

本文档将通过实例介绍如何使用 sdbexprt 工具将 SequoiaDB 巨杉数据库集合中的数据快速导出到 CSV 格式的数据存储文件中。

数据准备

  • 以下是集合空间 info 中集合 user_info的三条用户信息数据:
$ sdb 'db.info.user_info.find()'
{
  "_id": {
    "$oid": "5cd2dc7b294ffa8385000000"
  },
  "id": 1,
  "name": "Jack",
  "age": 18,
  "identity": "student",
  "phone_number": "18921222226",
  "email": "jack@example.com",
  "country": "China"
}
{
  "_id": {
    "$oid": "5cd2dc7b294ffa8385000001"
  },
  "id": 2,
  "name": "Mike",
  "age": 20,
  "identity": "student",
  "phone_number": "18923244255",
  "email": "mike@example.com",
  "country": "USA"
}
{
  "_id": {
    "$oid": "5cd2dc7b294ffa8385000002"
  },
  "id": 3,
  "name": "Woody",
  "age": 25,
  "identity": "worker",
  "phone_number": "18945253245",
  "email": "woody@example.com",
  "country": "China"
}
Return 3 row(s).

数据导出

情景一:指定 sdbexprt 参数数据导出

假设本地 SequoiaDB 已存在集合空间 info 的集合 user_info,该集合用于记录用户的信息,并且该集合中存在数据。现以指定 sdbexprt 参数的方式将集合空间 info 中集合 user_info 用户信息数据导出到 user_info.csv 文件中:

$ sdbexprt -s localhost -p 11810 --type csv --file user_info.csv -c info -l user_info --fields id,name,age,identity,phone_number,email,country 

查看 user_info.csv 文件中的用户信息数据:

$ cat user_info.csv 
id,name,age,identity,phone_number,email,country
1,"Jack",18,"student","18921222226","jack@example.com","China"
2,"Mike",20,"student","18923244255","mike@example.com","USA"
3,"Woody",25,"worker","18945253245","woody@example.com","China"

Note:

  • 在导出数据时,如需增加记录中不存在的字段时,可在参数 fields 中增加需添加字段名称,导出工具会自动默认为空值
  • --filter 参数支持对需导出字段的值进行过滤
  • 更多参数说明详见 sdbexprt 工具介绍

情景二:使用参数配置文件数据导出

假设本地 SequoiaDB 已存在集合空间 info 的集合 user_info,该集合用于记录用户的信息,并且该集合中存在数据。现以使用参数配置文件的方式将集合空间 info 中集合 user_info 用户信息数据导出到 user_info.csv 文件中:

  • 编辑配置文件 export.conf sdbexprt 工具导出参数配置
hostname = localhost 
svcname = 11810 
user = sdbadmin 
password = admin 
type = csv 
file = user_info.csv 
csname = info 
clname = user_info 
fields = id,name,age,identity,phone_number,email,country
  • 执行导出
$ sdbexprt --conf export.conf
  • 查看 user_info.csv 文件中的用户信息数据:
$ cat user_info.csv 
id,name,age,identity,phone_number,email,country
1,"Jack",18,"student","18921222226","jack@example.com","China"
2,"Mike",20,"student","18923244255","mike@example.com","USA"
3,"Woody",25,"worker","18945253245","woody@example.com","China"

Note:

数据导出 JSON

用户可以使用 SequoiaDB 巨杉数据库提供的 sdbexprt 工具集合中的数据导出到 JSON 数据存储文件中。

本文档将通过实例介绍如何使用 sdbexprt 工具将 SequoiaDB 巨杉数据库集合中的数据快速导出到 JSON 格式的数据存储文件中。

数据准备

  • 以下是集合空间 info 中集合 user_info的三条用户信息数据:
$ sdb 'db.info.user_info.find()'
{
  "_id": {
    "$oid": "5cd2dc7b294ffa8385000000"
  },
  "id": 1,
  "name": "Jack",
  "age": 18,
  "identity": "student",
  "phone_number": "18921222226",
  "email": "jack@example.com",
  "country": "China"
}
{
  "_id": {
    "$oid": "5cd2dc7b294ffa8385000001"
  },
  "id": 2,
  "name": "Mike",
  "age": 20,
  "identity": "student",
  "phone_number": "18923244255",
  "email": "mike@example.com",
  "country": "USA"
}
{
  "_id": {
    "$oid": "5cd2dc7b294ffa8385000002"
  },
  "id": 3,
  "name": "Woody",
  "age": 25,
  "identity": "worker",
  "phone_number": "18945253245",
  "email": "woody@example.com",
  "country": "China"
}
Return 3 row(s).

数据导出

情景一:指定 sdbexprt 参数数据导出

  • 假设本地 SequoiaDB 已存在集合空间 info 的集合 user_info,该集合用于记录用户的信息,并且该集合中存在数据。现以指定 sdbexprt 参数的方式将集合空间 info 中集合 user_info 用户信息数据导出到 user_info.json 文件中:
$ sdbexprt -s localhost -p 11810 --type json --file user_info.json -c info -l user_info --fields id,name,age,identity,phone_number,email,country 
  • 查看 user_info.json 文件中的用户信息数据:
$ cat user_info.json 
{ "id": 1, "name": "Jack", "age": 18, "identity": "student", "phone_number": "18921222226", "email": "jack@example.com", "country": "China" }
{ "id": 2, "name": "Mike", "age": 20, "identity": "student", "phone_number": "18923244255", "email": "mike@example.com", "country": "USA" }
{ "id": 3, "name": "Woody", "age": 25, "identity": "worker", "phone_number": "18945253245", "email": "woody@example.com", "country": "China" }

Note:

  • --filter 参数支持对需导出字段的值进行过滤
  • 更多参数说明详见 sdbexprt 工具介绍

情景二:使用参数配置文件数据导出

假设本地 SequoiaDB 已存在集合空间 info 的集合 user_info,该集合用于记录用户的信息,并且该集合中存在数据。现以使用参数配置文件的方式将集合空间 info 中集合 user_info 用户信息数据导出到 user_info.json 文件中:

  • 编辑配置文件 export.conf sdbexprt 工具导出参数配置:
hostname = localhost 
svcname = 11810 
user = sdbadmin 
password = admin 
type = json 
file = user_info.json 
csname = info 
clname = user_info 
fields = id,name,age,identity,phone_number,email,country
  • 执行导出
$ sdbexprt --conf export.conf
  • 查看 user_info.json 文件中的用户信息数据:
$ cat user_info.json 
{ "id": 1, "name": "Jack", "age": 18, "identity": "student", "phone_number": "18921222226", "email": "jack@example.com", "country": "China" }
{ "id": 2, "name": "Mike", "age": 20, "identity": "student", "phone_number": "18923244255", "email": "mike@example.com", "country": "USA" }
{ "id": 3, "name": "Woody", "age": 25, "identity": "worker", "phone_number": "18945253245", "email": "woody@example.com", "country": "China" }

Note:

回到顶部