#CSV文件导出

exp工具支持通过两种交互方式导出CSV数据,分别为命令行方式和配置文件方式。

# 使用命令行导出数据

# 命令格式

exp --csv {Common Options} {Export Options} {CSV Options}

# 命令选项-Common Options

([]为可选项)

选项 含义
-f, --format 数据文件格式,csv
-u, --user 数据库用户名, 系统用户或普通用户,普通用户需要具备访问系统表权限
-p, --password 数据库用户密码
[-L, --logfile] 日志文件路径,缺省时直接将日志打印在前端,支持相对路径(不可为../相对路径)
[-F, --file] csv文件导出路径,缺省时导出至当前路径,支持相对路径(不可为../相对路径)
[--loglevel] 日志等级,off/error/warn/info/debug/trace,默认值info
[--server-host] 数据库IP及监听端口,默认值"127.0.0.1:1688"
[--use-threads] 工作线程数,默认值1

# 命令选项-Export Options

选项 含义
-T, --tables 导出的表名称,多张表以逗号隔开
-O, --owner 表的所属用户,仅指定一个

# 命令选项-CSV Options

选项 含义
[--fields-enclosed-by] 指定单个字符作为文件中各字段的包围符,该字符可以是ASCII任意一个字符,默认值'\0', 如果字段中出现了指定的包围符,导入的真实数据为去除掉包围符后的数据
[--fields-terminated-by] 使用单个字符char作为字段的分隔,该字符可以是ASCII任意一个字符,默认值'|'
[--lines-terminated-by] 使用单个字符char作为行分隔符,该字符可以是ASCII任意一个字符,默认值'\n'
[--date-format] 支持修改日期格式,与数据库支持的所有日期格式一致,默认值'YYYY-MM-DD'
[--time-format] 支持修改时间格式,与数据库支持的所有时间格式一致,默认值'HH24:MI:SS.FF'
[--timestamp-format] 支持修改时间戳格式,与数据库支持的所有时间戳格式一致,默认值'YYYY-MM-DD HH24:MI:SS.FF'

# 使用配置文件导出数据

# 配置模板

可按如下配置模板进行导出选项配置:

owner = sales
format = csv
user = sys
password = sys
server-host = 127.0.0.1:1688
tables = area,branches
logfile = /home/yasdb
file = /home/yasdb
loglevel = info
fields-enclosed-by = "
fields-terminated-by = ,

Note

(1)配置文件和命令行配置相同的参数,以命令行为准。

(2)同一参数重复配置,以最后一次配置为准。

(3)上述配置文件中的各项值请替换为实际值。

(4)上述路径可配置为相对路径,但不能为../相对路径。

# 操作示例

1.以对YashanDB的sales用户下的样例表area,branches执行导出为例。

2.新建导出任务配置文件expconfig.ini:

owner = sales
format = csv
user = sys
password = sys
server-host = 127.0.0.1:1688
tables = area,branches
logfile = /home/yasdb
file = /home/yasdb
loglevel = info
fields-enclosed-by = '
fields-terminated-by = ,

3.执行导出命令exp --csv --config-file expconfig.ini:

$ exp --csv --config-file expconfig.ini
YashanDB Export Release 22.2.0.0 x86_64 8f54fba
[EXPORT] export sales.area succeeded
[EXPORT] export sales.branches succeeded

4.导出路径/home/yasdb下生成按表名命名的CSV数据文件:

$ ll
total 1792
-rw-r-----.  1 yasdb yasdb     121 Nov  6 00:06 area
-rw-r-----.  1 yasdb yasdb     332 Nov  6 00:06 branches

$ vi area
'01','华东','Shanghai'
'02','华西','Chengdu'
'03','华南','Guangzhou'
'04','华北','Beijing'
'05','华中','Wuhan'