Skip to content

数据库表与字段

思源在运行时会维护一个 SQLite 数据库用来存储笔记的所有数据, 可以通过 SQL 语句来访问内部数据。以下是数据表的定义格式。

blocks

存储了所有的内容块数据。

字段名说明字段值示例
id内容块 ID20210104091228-d0rzbmm
parent_id上级块的 ID,文档块该字段为空20200825162036-4dx365o
root_id顶层块的 ID,即文档块 ID20200825162036-4dx365o
hashcontent 字段的 SHA256 校验和a75d25c
box笔记本 ID20210808180117-czj9bvb
path内容块所在文档路径/20200812220555-lj3enxa/20210808180320-abz7w6k/20200825162036-4dx365o.sy
hpath人类可读的内容块所在文档路径/0 请从这里开始/编辑器/排版元素
name内容块名称一级标题命名
alias内容块别名一级标题别名
memo内容块备注一级标题备注
tag非文档块为块内包含的标签,文档块为文档的标签#标签1# #标签2# #标签3#
content去除了 Markdown 标记符的文本一级标题
fcontent第一个子块去除了 Markdown 标记符的文本(1.9.9 添加)第一个子块
markdown包含完整 Markdown 标记符的文本# 一级标题
lengthfcontent 字段文本长度6
type内容块主类型,参考 blocks.typeh
subtype内容块次类型,参考 blocks.subtypeh1
ial内联属性列表,形如 {: name="value"}{: id="20210104091228-d0rzbmm" updated="20210604222535"}
sort排序权重,数值越小排序越靠前5
created创建时间20210104091228
updated更新时间20210604222535

blocks.type

块主类型

字段值说明
audio音频块
av属性表
b引述块
c代码块
d文档块
h标题块
htmlHTML 块
i列表项
iframeiframe 块
l列表块
m公式块
p段落块
query_embed嵌入块
s超级块
t表格块
tb分割线
video视频块
widget挂件块

blocks.subtype

块次类型,默认为空字符串

字段值关联的 type 字段值说明
h1h一级标题块
h2h二级标题块
h3h三级标题块
h4h四级标题块
h5h五级标题块
h6h六级标题块
ol有序列表块
ul无序列表块
tl任务列表块

refs

存储了所有的引用双链结构。

字段名说明字段值示例
id引用 ID20211127144458-idb32wk
def_block_id被引用块的块 ID20200925095848-aon4lem
def_block_parent_id被引用块的双亲节点的块 ID20200905090211-2vixtlf
def_block_root_id被引用块所在文档的 ID20200905090211-2vixtlf
def_block_path被引用块所在文档的路径/20200812220555-lj3enxa/20210808180320-fqgskfj/20200905090211-2vixtlf.sy
block_id引用所在内容块 ID20210104090624-c5bu25o
root_id引用所在文档块 ID20200905090211-2vixtlf
box引用所在笔记本 ID20210808180117-czj9bvb
path引用所在文档块路径/20200812220555-lj3enxa/20210808180320-fqgskfj/20200905090211-2vixtlf.sy
content引用锚文本元类型
markdown包含完整 Markdown 标记符的文本((20200925095848-aon4lem "元类型"))
type引用类型ref_id

attributes

字段名说明字段值示例
id属性 ID20211127144458-h7y55zu
name属性名称bookmark
value属性值
type类型b
block_id块 ID20210428212840-859h45j
root_id文档 ID20200812220555-lj3enxa
box笔记本 ID20210808180117-czj9bvb
path文档文件路径/20200812220555-lj3enxa.sy

assets

资源引用

字段名字段值示例说明
id20211127144458-uinrvpj引用 ID
block_id20210512171633-u3iy2xx块 ID
root_id20200915214115-42b8zma文档 ID
box20210808180117-czj9bvb笔记本 ID
docpath/20200812220555-lj3enxa/20200915214115-42b8zma.sy文档路径
pathassets/siyuan-128-20210604092205-djd749a.png资源文件路径
namesiyuan-128-20210604092205-djd749a.png资源文件名
title源于思考,饮水思源资源标题
hash788c154262194a126b433b1055fbddcf5ada066e0d1f565a54e5550125675075资源哈希值

file_annotation_refs

文件 PDF 的注释引用

字段名字段值示例说明
id20220110165814-wgit0t4引用 ID
file_pathassets/vim-reference-2.3.0 - Wei Zhi-20211230002422-9gbzdu0.pdf关联文件路径
annotation_id20220110165331-699dvqv被引用注释 ID
block_id20220110165327-kfadm4z引用所在内容块 ID
root_id20211230002404-5spavgt引用所在文档块 ID
box20210914201520-i0v92g9引用所在笔记本 ID
path/20211230002404-5spavgt.sy引用所在文档块路径
contentVim 中文手册引用锚文本
type注释类型

spans

行内元素

字段名字段值示例说明
id20211127144458-rwt8qka行内元素 ID
block_id20210429172522-ceauu94元素所在内容块 ID
root_id20200812220555-lj3enxa元素所在文档块 ID
box20210808180117-czj9bvb元素所在笔记本 ID
path/20200812220555-lj3enxa.sy元素所在文档块路径
content请勿在帮助指南中保存数据元素内容
markdown请勿在帮助指南中保存数据包含完整 Markdown 标记符的元素内容
type元素类型,参考 spans.type元素类型
ial{: style="background-image: linear-gradient(to right, var(--b3-theme-primary), var(--b3-theme-error)); -webkit-background-clip: text; color: transparent;"}元素样式

spans.type

字段值说明
img图片
tag文档标签
textmark a链接
textmark block-ref引用
textmark code行内代码
textmark inline-memo备注
textmark tag#标签#
textmark inline-math行内公式
textmark mark高亮标记
textmark emHTML tag
textmark sHTML tag
textmark strongHTML tag
textmark subHTML tag
textmark supHTML tag
textmark uHTML tag

stat

其他信息

keyvalue说明
siyuan_database_ver20211022数据库版本
20211127144654-wd72ryx_hash499ec649a66ffb730a90a8a54f8cb266436cea568ff4e4ad9698e0c537f24170ID 为 20211127144654-wd72ryx 的笔记本的哈希