本文主要用于介绍如何使用复制或者\复制命令将一种数据库系统数据库内表的数据导出为擅长格式,方便用户查看编辑。
复制命令同\复制命令语法上相同,区别在于复制必须使用能够超级用户使用,复制…到文件中的文件都是数据库服务器所在的服务器上的文件,而\复制一般用户即可执行且\复制保存或者读取的文件是在客户端所在的服务器。本文主要以复制命令作为介绍重点,使用复制命令将表内数据倒为战斗支援车(战斗支援车的缩写)格式文件即为擅长格式。
1、复制命令语法
复制{表名[ (列名称[,] ) ] | (查询) }
到{ '文件名" | PROGRAMME "命令| STDOUT }
[ [ WITH ](选项[,] ) ]
选项可以是下列内容之一
格式格式_名称
冻结[布尔]
"分隔符"分隔字符'
"空"空字符串'
HEADER [布尔]
"报价"引用字符'
"逃跑"转义字符'
FORCE_QUOTE {唐山企业官网(列名称[,] ) | * }
强制_非_空(列名称[,] )
强制_空(列名称[,] )
' ENCODING 'encoding_name(编码名)'
2、多场景使用介绍
查看现有表数据
测试=#从测试中选择*
user_id | user_name年龄|性别|备注
- - - - -
1 |成龙| 45 |男|《警察故事《答》工程》《尖峰时刻》
3 |李| 46 |女|
4 |张可颐| 39 |女|
5 |李连杰| 41 |男|《传奇之拳》《中国往事》
2 |巩俐| 38 |女|《霸王别姬》,《有生之年》
(5 行记录)
带列名导出,默认情况下使用,作为分隔符
test=#将测试复制到'/tmp/test1。csv '带战斗支援车(combat support vehicle的缩写)头;
COPY 5
test=# \!cat /tmp/test1.csv
用户id、用户名、年龄、性别、备注
1,成龙,45岁,男,《警察故事《答》工程》,《尖峰时刻》
3、李,46岁,女、
4、张可颐,39岁,女,
5,李连杰,41岁,男,《传奇之拳》,《中国往事》
2,巩俐,38岁,女,《霸王别姬》,《有生之年》
带列名导出,指定使用|作为分隔符
测试=#将测试复制到'/tmp/测试1。csv ',带有战斗支援车(combat support vehicle的缩写)头分隔符' | ';
COPY 5
test=# \!cat /tmp/test1.csv
user _ id | user _ name年龄|性别|备注
1 |成龙| 45 |男|"'警察故事','项目a ','高峰时间"
3 |李| 46 |女|
4 |张可颐| 39 |女|
5 |李连杰| 41 |男| ' '《传奇之拳》,《中国往事》' '
2 |巩俐| 38 |女| ' '《霸王别姬》,《一生一世活着》
带列名导出,将空字符替换为指定值导出