思源笔记sql语法
- 思源笔记
- 2023-03-17
- 1805热度
- 0评论
SQL的使用
可以直接输入/嵌入块
,/embed
,也可以打两个花括号 {{ }}
,然后在窗口中输入特定格式的语法就可以实现了。需要参考思源笔记用户指南的「数据库表」和「类型过滤」
数据库表说明
思源数据库共有如下 7 张表(以及两张虚拟表 blocks_fts与 blocks_fts_case_insensitive),在搜索框中与嵌入块中使用 SQL 查询仅能渲染 blocks表中的内容, 但是可以使用其他表进行辅助查询。
表1:assets-资源引用表
字段名 | 字段值示例 | 说明 |
---|---|---|
id | 20211127144458-uinrvpj | 引用 ID |
block_id | 20210512171633-u3iy2xx | 块 ID |
root_id | 20200915214115-42b8zma | 文档 ID |
box | 20210808180117-czj9bvb | 笔记本 ID |
docpath | /20200812220555-lj3enxa/20210808180321-hbvl5c2/20200915214115-42b8zma.sy | 文档路径 |
path | assets/siyuan-128-20210604092205-djd749a.png | 资源文件路径 |
name | siyuan-128-20210604092205-djd749a.png | 资源文件名 |
title | 源于思考,饮水思源 | 资源标题 |
hash | 788c154262194a126b433b1055fbddcf5ada066e0d1f565a54e5550125675075 | 资源哈希值 |
表2:attributes-属性表
字段名 | 字段值示例 | 说明 |
---|---|---|
id | 20211127144458-h7y55zu | 属性 ID |
name | bookmark | 属性名称 |
value | ✨ | 属性值 |
type | b | 类型 |
block_id | 20210428212840-859h45j | 块 ID |
root_id | 20200812220555-lj3enxa | 文档 ID |
box | 20210808180117-czj9bvb | 笔记本 ID |
path | /20200812220555-lj3enxa.sy | 文档文件路径 |
name字段值
- bookmark: 书签
- name: 命名
- alias: 别名
- memo: 备注
- fold: 折叠
- heading-fold: 标题折叠
- style: 样式
- custom-XXX: 自定义属性
type 字段值
- b: 块属性
- s: 样式属性
表3:blocks-内容块
-
该表还有两张全文本搜索(FTS)虚拟表, 用于更高效地全文搜索, 字段名称一致
-
blocks_fts
: 英文字母大小写敏感 -
blocks_fts_case_insensitive
: 英文字母大小写不敏感
-
字段名 | 字段值示例 | 说明 |
---|---|---|
id | 20210104091228-d0rzbmm | 内容块 ID |
parent_id | 20200825162036-4dx365o | 双亲块 ID 如果内容块是文档块则该字段为空 |
root_id | 20200825162036-4dx365o | 文档块 ID |
hash | a75d25c | content 字段的 SHA256 校验和 |
box | 20210808180117-czj9bvb | 笔记本 ID |
path | /20200812220555-lj3enxa/20210808180320-abz7w6k/20200825162036-4dx365o.sy | 内容块所在文档路径 |
hpath | /0 请从这里开始/编辑器/排版元素 | 人类可读的内容块所在文档路径 |
name | 一级标题命名 | 内容块名称 |
alias | 一级标题别名 | 内容块别名 |
memo | 一级标题备注 | 内容块备注 |
tag(v2.0.4 新增) | #标签1 | 非文档块为块内包含的标签文档块为文档的标签 |
content | 一级标题 | 去除了 Markdown 标记符的文本 |
fcontent(v1.9.9 新增) | 第一个子块 | 存储容器块第一个子块的内容(1.9.9 添加) |
markdown | # 一级标题 | 包含完整 Markdown 标记符的文本 |
length | 6 | markdown 字段文本长度 |
type | h | 内容块类型,参考⸢类型字段⸥ |
subtype | h1 | 内容块子类型,参考⸢子类型字段⸥ |
ial | {: id="20210104091228-d0rzbmm" updated="20210604222535"} | 内联属性列表,形如 {: name="value"} |
sort | 5 | 排序权重 数值越小排序越靠前 |
created | 20210104091228 | 创建时间 |
updated | 20210604222535 | 更新时间 |
type字段值
- d: 文档块(仅在文档名上搜索,不会搜索文档包含内容块)
- h: 标题块(仅在标题名上搜索,不会搜索标题块下方内容块)
- l: 列表块(包含有序列表块、无序列表块和任务列表块)
- i: 列表项块
- c: 代码块
- m: 数学公式块
- t: 表格块
- b: 引述块
- s: 超级块
- p: 段落块
- tb: 分隔线
- html: HTML 块
- video: 视频块
- audio: 音频块
- widget: 挂件块
- iframe: iframe
- query_embed: 嵌入块
subtype 字段值
-
列表块/列表项块子类型:
- o:有序
- u:无序
- t:任务
-
标题块子类型:
- h1:一级
- h2:二级
- h3:三级
- h4:四级
- h5:五级
- h6:六级
表4:file_annotation_refs-文件(PDF)注释引用
字段名 | 字段值示例 | 说明 |
---|---|---|
id | 20220110165814-wgit0t4 | 引用 ID |
file_path | assets/vim-reference-2.3.0 - Wei Zhi-20211230002422-9gbzdu0.pdf | 关联文件路径 |
annotation_id | 20220110165331-699dvqv | 被引用注释 ID |
block_id | 20220110165327-kfadm4z | 引用所在内容块 ID |
root_id | 20211230002404-5spavgt | 引用所在文档块 ID |
box | 20210914201520-i0v92g9 | 引用所在笔记本 ID |
path | /20211230002404-5spavgt.sy | 引用所在文档块路径 |
content | Vim 中文手册 | 引用锚文本 |
type | 注释类型 |
表5:refs-引用块
字段名 | 字段值示例 | 说明 |
---|---|---|
id | 20211127144458-idb32wk | 引用 ID |
def_block_id | 20200925095848-aon4lem | 被引用块的块 ID |
def_block_parent_id | 20200905090211-2vixtlf | 被引用块的双亲节点的块 ID |
def_block_root_id | 20200905090211-2vixtlf | 被引用块所在文档的 ID |
def_block_path | /20200812220555-lj3enxa/20210808180320-fqgskfj/20200905090211-2vixtlf.sy | 被引用块所在文档的路径 |
block_id | 20210104090624-c5bu25o | 引用所在内容块 ID |
root_id | 20200905090211-2vixtlf | 引用所在文档块 ID |
box | 20210808180117-czj9bvb | 引用所在笔记本 ID |
path | /20200812220555-lj3enxa/20210808180320-fqgskfj/20200905090211-2vixtlf.sy | 引用所在文档块路径 |
content | 元类型 | 引用锚文本 |
markdown | ((20200925095848-aon4lem "元类型")) | 包含完整 Markdown 标记符的文本 |
type | ref_id | 引用类型 |
表6:spans-行内元素
字段名 | 字段值示例 | 说明 |
---|---|---|
id | 20211127144458-rwt8qka | 行内元素 ID |
block_id | 20210429172522-ceauu94 | 元素所在内容块 ID |
root_id | 20200812220555-lj3enxa | 元素所在文档块 ID |
box | 20210808180117-czj9bvb | 元素所在笔记本 ID |
path | /20200812220555-lj3enxa.sy | 元素所在文档块路径 |
content | 请勿在帮助指南中保存数据 | 元素内容 |
markdown | 请勿在帮助指南中保存数据 | 包含完整 Markdown 标记符的元素内容 |
type | strong | 元素类型 |
ial | {: style="background-image: linear-gradient(to right, var(--b3-theme-primary), var(--b3-theme-error)); -webkit-background-clip: text; color: transparent;"} | 元素样式 |
行内元素类型
type新字段值 v2.2.0+ | type 字段值 | content 字段值示例 | markdown 字段值示例 | 说明 |
---|---|---|---|---|
img | 图片锚文本 |  | 图片 | |
tag | 测试 | #测试# | 文档标签 | |
textmark a | link_text | 超链接锚文本 | 超链接锚文本 [超链接锚文本](https://github.com/mermaid-js/mermaid "超链接标题") | 链接 |
textmark block-ref | 块引用锚文本 | ((20220830155254-jyybm5j '块引用锚文本')) | 块引用锚文本 | |
textmark code | code_span | &rsquo | \\’\ |
行内代码 |
textmark em | em | 开源软件 | *开源软件* | 斜体 |
textmark file-annotation-ref | 文件(PDF)引用锚文本 | \<\<assets/PDF-20211230002422-9gbzdu0.pdf/20220110165331-699dvqv "文件(PDF)引用锚文本">> | 文件(PDF)引用锚文本 | |
textmark inline-math | inline_math | \overset{ ext{shang}}{上} | \$\overset{\text{shang}}{上}\$ | 行内公式 |
textmark inline-memo | 备注原文备注内容 memocontent |
备注原文\^(备注内容)\^ memo\^(content)\^ |
行内备注-备注原文为中文行内备注-备注原文为西文 | |
textmark kbd | kbd | fn | fn | 按键样式 |
textmark mark | mark | 0000000000 | \=\=0000000000\=\= | 高亮 |
textmark s | strikethrough | 0000000000 | \~\~0000000000\~\~ | 删除线 |
textmark strong | stong | 专业软件 | **专业软件** | 粗体 |
textmark sub | sub | B | \~B\~ | 下标 |
textmark sup | sup | A | \^A\^ | 上标 |
textmark tag | tag | 思源笔记 | #思源笔记# | 标签 |
textmark u | underline | 注1 | \<u>注1\</u> | 下划线 |
表7:stat-其他信息
key | value | 说明 |
---|---|---|
siyuan_database_ver | 20211022 | 数据库版本 |
20211127144654-wd72ryx_hash | 499ec649a66ffb730a90a8a54f8cb266436cea568ff4e4ad9698e0c537f24170 | ID 为 20211127144654-wd72ryx 的笔记本的哈希 |