⌘+k ctrl+k
1.4 (LTS)
搜索快捷键 cmd + k | ctrl + k
输出格式

.mode 点命令可用于更改终端输出中表格的外观。除了自定义外观外,这些模式还有其他好处。这对于将 DuckDB 的输出重定向到文件以在其他地方展示非常有用。使用 insert 模式将生成一系列 SQL 语句,可用于稍后插入数据。markdown 模式对于编写文档特别有用,而 latex 模式则适用于撰写学术论文。

输出格式列表

模式 描述
ascii 列/行由 0x1F 和 0x1E 分隔
box 使用 Unicode 制表符绘制的表格
csv 逗号分隔值
column 列格式输出(参见 .width
duckbox 功能丰富的表格(默认)
html HTML <table> 代码
insert TABLE 针对 TABLE 的 SQL 插入语句
json JSON 数组格式结果
jsonlines NDJSON 格式结果
latex LaTeX tabular 环境代码
line 每行一个值
list 值由 | 分隔
markdown Markdown 表格格式
quote 按 SQL 标准转义答案
table ASCII 艺术表格
tabs 制表符分隔值
tcl TCL 列表元素
trash 无输出

更改输出格式

使用基础的 .mode 点命令可查询当前使用的外观模式。

.mode
current output mode: duckbox

.mode 点命令后添加参数即可设置输出格式。

.mode markdown
SELECT 'quacking intensifies' AS incoming_ducks;
|    incoming_ducks    |
|----------------------|
| quacking intensifies |

输出外观还可以通过 .separator 命令进行调整。如果使用依赖于分隔符的导出模式(例如 csvtabs),则在更改模式时分隔符会重置。例如,.mode csv 会将分隔符设置为逗号(,)。随后使用 .separator "|" 可将输出转换为管道符分隔。

.mode csv
SELECT 1 AS col_1, 2 AS col_2
UNION ALL
SELECT 10 AS col1, 20 AS col_2;
col_1,col_2
1,2
10,20
.separator "|"
SELECT 1 AS col_1, 2 AS col_2
UNION ALL
SELECT 10 AS col1, 20 AS col_2;
col_1|col_2
1|2
10|20

duckbox 模式

默认情况下,DuckDB 以 duckbox 模式呈现查询结果,这是一种功能丰富的 ASCII 艺术风格输出格式。

duckbox 模式支持 large_number_rendering 选项,允许以人类可读的方式渲染大数字。它有三个级别:

  • off – 所有数字均使用常规格式打印。
  • footer(默认)– 大数字会附带人类可读格式。仅适用于单行结果。
  • all - 所有大数字均被替换为人类可读格式。

请参阅以下示例

.large_number_rendering off
SELECT pi() * 1_000_000_000 AS x;
┌───────────────────┐
│         x         │
│      double       │
├───────────────────┤
│ 3141592653.589793 │
└───────────────────┘
.large_number_rendering footer
SELECT pi() * 1_000_000_000 AS x;
┌───────────────────┐
│         x         │
│      double       │
├───────────────────┤
│ 3141592653.589793 │
│  (3.14 billion)   │
└───────────────────┘
.large_number_rendering all
SELECT pi() * 1_000_000_000 AS x;
┌──────────────┐
│      x       │
│    double    │
├──────────────┤
│ 3.14 billion │
└──────────────┘
© 2025 DuckDB 基金会,阿姆斯特丹,荷兰
行为准则 商标使用指南