编辑表
表编辑基本上提供与 Excel 相似的编辑体验。
按 Enter 或双击单元格进入编辑模式。
按 Enter 或 Escape 结束编辑模式。输入的内容会在输入的同时生效,因此 Escape 会保留文本,而不是将其还原。
Escape 会保留单元格的焦点和表的选中状态,再按一次 Escape 则会将两者一并清除。
输入法仍在组字时,Escape 不会结束编辑模式。

添加列
使用快捷键 Alt + Enter (Windows/Linux) 或 ⌥ + Enter (Mac) 创建。
会向所有已选中的表添加一列。
Tab 键
按 Tab 可直接进入下一个单元格的编辑模式。
在最后一个单元格按 Tab 会创建新的列。
使用 Shift + Tab 移动到上一个单元格的编辑模式。
绘制在行的最后一个单元格之后的备用键标记不是单元格,因此键盘焦点会跳过它们,它们也不会进入编辑模式。

DataType 自动补全
进入 DataType 单元格的编辑模式并开始输入,编辑器会推荐所选数据库中匹配的类型,并高亮推荐项中与输入内容完全一致的部分。
匹配本身是模糊匹配,因此输入 vch 也能找到 VARCHAR。
Arrow Up或Arrow Down:在推荐项之间移动Arrow Right、Tab或Enter:采用当前高亮的推荐项Arrow Left:回到已输入的文本
也可以直接点击推荐项。
列表一次最多显示十个推荐项,其余的可以滚动查看。
推荐并非强制,列表之外的类型也可以自由输入,包括 VARCHAR(255) 这样带参数的写法。输入的内容一旦超出一个完整的类型名,例如 VARCHAR(255) 或 BIGINT UNSIGNED,列表就会关闭。
推荐项跟随所选数据库,更换数据库会改变推荐内容,已有的列保持不变。

Not Null, Unique, Auto Increment
这三个单元格是开关,而不是文本。
双击该单元格,或在其获得焦点时按 Enter,即可切换状态。
Not Null 单元格在设置后显示 N-N,未设置时显示 NULL。
UQ 和 AI 在关闭时为暗色,在开启时高亮。

被表显示选项隐藏的单元格无法切换。
多选列
支持以下五种方式:
Shift + Arrow Up/Down:每次扩展一行选中范围Ctrl + click(Windows/Linux) or⌘ + click(Mac):添加单个列Shift + click:选中从上一个获得焦点的列开始的范围Ctrl + Shift + click(Windows/Linux) or⌘ + Shift + click(Mac):将该范围添加到选中范围Alt + A(Windows/Linux) or⌥ + A(Mac):全选

表的右键菜单作用于哪些列,由右键点击的列所在的行决定,与按住的修饰键无关。
在已经选中的行上右键点击时,选中状态保持不变,焦点移到该行;在其他行上右键点击时,只选中该行。这一点适用于行上的任何位置,包括钥匙图标和备用键标记。
因此,要像列主键或删除列那样通过菜单对多个列进行操作,请右键点击选中的行之一。
在 Mac 上,Ctrl + click 同样会打开菜单,但它会被视为普通点击,因此在单元格上使用时,会在菜单打开之前只选中该行。
调整与移动列
通过 drag 操作,可以移动到其他表。
拖动中的行会跟随指针移动,放下位置周围的行会向两侧滑开,腾出空间。
在表的最后一行正下方放下,即可将列移动到该表的末尾。没有任何列的表,在其上任意位置都可以放下。

使用 Ctrl + drag (Windows/Linux) 或 ⌘ + drag (Mac) 也可移动多个列。

删除列
删除获得焦点的表中选中的列。点击单元格会选中它所在的列,因此点击一个单元格再按 Delete,即可删除这一列。
快捷键:
Delete或Backspace(Mac 上为⌫)。当这些列所在的表是唯一选中的对象时,它们会删除选中的列。没有选中任何列(焦点位于表名或注释上)、同时还选中了其他对象,或者缩放级别在70%及以下、表只显示名称时,它们会改为删除整个选中范围,参见删除表与备注。Alt + Backspace或Alt + Delete(Windows/Linux),⌥ + ⌫或⌥ + Delete(Mac)。即使同时还选中了其他表或备注,它们也会删除获得焦点的表中选中的列。正在编辑单元格时,或缩放级别在70%及以下时,它们不会删除任何内容。

表的右键菜单也能执行同样的操作。在只选中了该表时,右键点击某一列所在的行,菜单的最后一个条目会显示为 Delete column;当该行是两个或更多选中列之一时,则显示为 Delete columns。
正在编辑单元格时,Delete 和 Backspace 只会删除文本。在单元格编辑器之外按住不放时,它们只会删除一次。
删除之后,焦点会移到原先获得焦点的列上方最近的剩余列。上方没有剩余的列时,即使下方仍有列,焦点也会移到表名上,因此下一次按 Delete 或 Backspace 删除的是表而不是列。
使用了被删除列的关系与索引会随之一起删除。删除前不会要求确认,整个删除只算一步 Undo。
复制/粘贴列
以表格形式的剪贴板方式工作。
快捷键:Ctrl + C (Windows/Linux) 或 ⌘ + C (Mac),Ctrl + V (Windows/Linux) 或 ⌘ + V (Mac)
复制到电子表格、从电子表格粘贴,以及粘贴到焦点位于列单元格的表时,使用表中显示的单元格,并按它们显示的顺序排列,参见表显示选项和调整列顺序。
在编辑器中复制的列,在选中表的标题栏时粘贴,或粘贴到其他选中的表中时,会带上所复制列的全部单元格,包括 Unique 与 Auto Increment 等隐藏的单元格。
像 AK1.1 这样的备用键标记不是单元格,因此即使它们处于显示状态,复制与粘贴也不会包含它们。
可以从编辑器粘贴到 Excel,也可以从 Excel 粘贴回编辑器。
单元格的值会按输入的原样复制出去,因此像 <label> 或 a & b 这样的值会原封不动地进入电子表格或文档。
电子表格的列按位置而不是按名称对应到显示的单元格,因此电子表格中列的顺序必须与这些单元格的顺序一致。
对于下列各项,以下任意值都会被视为 true(不区分大小写):
- AutoIncrement:
TRUE,1,YES,Y - Unique:
TRUE,1,YES,Y - Not Null:
TRUE,1,YES,Y,NOT NULL
从编辑器复制出去时,AutoIncrement 与 Unique 写为 TRUE 或 FALSE,Not Null 写为 NOT NULL 或 NULL。
Unique 与 Auto Increment 默认隐藏,因此只有显示这两个单元格后才会写出并读取 TRUE 与 FALSE。


粘贴到哪里取决于焦点所在:
- 选中表的标题栏时,粘贴的行会作为新列追加到所有选中的表中。
- 焦点位于列单元格时,该表中选中的行以及最后一个选中行下方的行,会按粘贴的行数依次被覆盖,分开选中的行之间的行会被跳过。被覆盖的行在显示的单元格中写入粘贴的值,隐藏的单元格保持不变,剩余的行则作为新列追加。其他选中的表会把粘贴的行作为新列追加。

复制/粘贴表与备注
当获得焦点的表内没有选中任何列时,相同的快捷键会复制选中的表与备注本身,参见表相关功能。
列主键
切换获得焦点的列的主键状态,该列是获得焦点的单元格所属的列。
当获得焦点的列是两个或更多选中列之一时,切换会作用于所有选中的列:只要其中有任何一列不是主键,它们就会全部设为主键;如果它们已经全部是主键,则会全部取消。选中范围之外的列保持不变。
通过表的右键菜单或快捷键 Alt + K (Windows/Linux) 或 ⌥ + K (Mac) 进行操作。切换作用于两列或更多列时,菜单条目会显示为 Primary Key on selected columns,而不是 Primary Key。
行中的钥匙图标仅用于显示,点击它不会设置主键。
要将多个列设为一个复合主键,请先选中这些列,然后按 Alt + K (Windows/Linux) 或 ⌥ + K (Mac),或者右键点击选中的行之一并选择 Primary Key on selected columns。每次切换都算一步 Undo。
