SQLite 对象
要开始使用服务器对象,你应该创建并打开一个连接。
你可以附加数据库,在已打开的连接上右击并选择 附加数据库 及输入下面的信息。
选项 | 描述 |
数据库文件 | 设置数据库的文件路径。 |
数据库名 | 输入 Navicat 显示的数据库名。 |
已加密 | 启用此选项,并提供连接到已加密的 SQLite 数据库的 密码。 |
要分离数据库,在连接树中的数据库上右击并选择 分离数据库。
如果你想加密或解密数据库,简单地在连接树中的数据库上右击并选择 加密数据库 或 解密数据库。
一个特殊的表名为 sqlite_master,保存完整的数据库模式。要查看 sqlite_master 表,在数据库上右击并从弹出菜单选择 查看主要表。
关联式数据库使用表来保存数据。全部数据操作都在表上完成或生成另一个表作为结果。表是一组行和列,以及它们的相交点是字段。从一般的角度来看,列在一个表中描述数据的名和类型,被行发现其列的字段。行在一个表中代表列组成的记录,从左至右由相应列的名和类型描述。每一个在行中的字段是和该行的其他字段含蓄地相关。点击
来打开表 的对象列表。
当要打开有图形字段的表时,在表上右击并在弹出菜单中选择
打开表 (快速)。用更快的性能打开图形表,BLOB 字段(图片) 将不会被加载直到你点击单元格。如果你希望当打开表时 Navicat 加载全部你的图片请使用
打开表。
你可以创建一个表快捷方式,在对象列表窗格中的表上右击并在弹出菜单中选择 创建打开表快捷方式。这个选项是用来提供一个打开表的便捷方式,可以直接输入数据而无需打开主 Navicat。
要清空一个表,在已选择的表上右击并在弹出菜单中选择 清空表。
在 字段 选项卡中,只需简单地点击字段来编辑。右击来显示弹出菜单或使用字段工具栏,能让你创建新的、插入、移动或删除选择的字段。要搜索一个字段名,选择 编辑 -> 查找 或按 CTRL+F。
按钮 | 描述 |
添加字段 | 添加一个字段到表。 |
插入字段 | 在一个现有的字段上面插入一个字段。 |
删除字段 | 删除已选择的字段。 |
主键 | 设置字段为主键。 |
上移或 下移 | 上移或下移已选择的字段。 |
使用 名 编辑框来设置字段名。请注意字段名在表的全部字段中必须是唯一的。
类型 下拉列表定义字段数据的类型(存储类别)。详细信息请看 SQLite 2 Data Types 和 SQLite 3 Data Types。使用 长度 编辑框来定义字段的长度并用 小数点 编辑框来为浮点数据类型定义小数点(比例)后有几多位数。
不 是 null
勾选这个框来不允许字段是空值。
主键
主键是一个单字段或多个字段组合,能唯一地定义一个记录。没有一个主键的字段可以包含空值。
字段的属性
注意:下面这些选项取决于你选择字段的类型。
默认
设置字段的默认值。
排序规则
指定当比较列的文本项目时使用的排序规则函数。默认使用内建 BINARY 排序规则函数。
BINARY | 使用 memcmp() 比较字符串数据,不管文本编码。 |
NOCASE | 和 binary 一样,除了在运行比对时, ASCII 的 26 个大写字符折叠到它们对应的小写。请注意,只有 ASCII 字符是大小写折叠。SQLite 不尝试做完整的 UTF 大 小写折叠由于表所需的大小。 |
RTRIM | 和 binary 一样,除了尾随空格字符被忽略。 |
注意:SQLite 3 支持。
Not null ON CONFLICT
如果勾选 不是 null 选项,指定一个算法用来解决限制冲突。
ROLLBACK | 当限制冲突发生时,立即发生回滚,从而结束当前的事务,并中止命令加上一个 SQLITE_CONSTRAINT 的返回代码。如果没有事务是有效的(除了创建在每个命令的必需事务), 那麼这算法做法和 ABORT 一样。 |
ABORT | 当限制冲突发生时,命令放弃任何之前可能作出的改变,并中止加上一个 SQLITE_CONSTRAINT 的返回代码。但是,没有运行回滚,所以由之前命令作出的改变得以保存。这是默认的性能。 |
FAIL | 当限制冲突发生时,命令中止加上一个 SQLITE_CONSTRAINT 的返回代码。但之前遇到限制冲突的命令出的任何改变得以保存及不会放弃。例如:如果 UPDATE 语句在它尝试更新的第 100 行 遇到限制冲突,那么头 99 行改变保存但行 100 及以后的改变不会发生。 |
IGNORE | 当限制冲突发生时,包含限制冲突的一行不会插入或更新。但命令继续正常运行。其他行在包含限 制冲突的行之前及之后继续正常插入或更新。当使用 IGNORE 冲突解决算法时,不会返回错误。 |
REPLACE | 当一个 UNIQUE 限制冲突发生时,在插入或更新当前行,前行导致限制冲突被移除。因此,插入或更新总是发生。命令继续正常运行后取代。REPLACE 冲突解决算法不会返回错误。如果一个 NOT NULL 限制冲突发生时,NULL 值被该列的默认值取代。如果该列没有默认值,那么使用 ABORT 算 法。如果一个 CHECK 限制冲突发生时,会使用 IGNORE 算法。 |
自动递增
自动递增属性能你新的行生成唯一标识。要自动递增值开始不是 1,你可以在选项选项卡设置该值。
索引提供一个更快的访问路径到表数据。它是用一个或多个列创建,来加快 SQL 语句运行在该表。
在 索引 选项卡,只需简单地点击索引字段来编辑。使用索引工具栏,能让你创建新的、编辑或删除选择的索引字段。
按钮 | 描述 |
添加索引 | 添加一个索引到表。 |
删除索引 | 删除已选择的索引。 |
使用 名 编辑框来设置索引名。
要在索引包含字段,只是简单地双击 字段 字段或点击
来打开编辑器进行编辑。
唯一键
索引列的全部值必须只出现一次。
字段编辑器
从 名 列表选择字段。你也可以用箭头按钮来改变索引字段排序。
排序规则
指定列的文本项目使用的排序规则序列。默认排序规则序列是为该欄定义的排序规则序列。
BINARY | 使用 memcmp() 比较字符串数据,不管文本编码。 |
NOCASE | 和 binary 一样,除了在运行比对时, ASCII 的 26 个大写字符折叠到它们对应的小写。请注意,只有 ASCII 字符是大小写折叠。SQLite 不尝试做完整的 UTF 大 小写折叠由于表所需的大小。 |
RTRIM | 和 binary 一样,除了尾随空格字符被忽略。 |
注意:SQLite 3 支持。
排序顺序
表明排序顺序 - 递增「ASC」或递减「DESC」。
外键是一个在关联式表中符合另一个表主键的字段。
在 外键 选项卡,只需简单地点击外键字段来编辑。使用外键工具栏,能让你创建新的、编辑或删除选择的外键字段。
按钮 | 描述 |
添加外键 | 添加一个外键到表。 |
删除外键 | 删除已选择的外键。 |
使用 名 编辑框来输入新键的名。
使用 参考表 下拉列表来选择一个外部索引表。
要包含字段或参考字段到键,只需简单地双击 字段 或 参考字段 字段或点击
来打开编辑器进行编辑。
删除时 和 更新时 下拉列表定义采取行动的类型。
RESTRICT | 「RESTRICT」动作意味着应用程序禁止删除(ON DELETE RESTRICT)或修改(for ON UPDATE RESTRICT)一个上级键当存在一个或多个子键对应它。 |
NO ACTION | 配置「NO ACTION」意味着这一点:当从数据库修改或删除上级键,没有采取特别的行动。 |
CASCADE | 「CASCADE」动作传播在上级键的删除或更新操作到每个依靠的子键。对于「ON DELETE CASCADE」动作,这意味着在子表与上级行有关的每行也会删除。对于「ON UPDATE CASCADE」动作,这意味着保存在每个依靠的子键值会被修改,以符合新上级键值。 |
SET NULL | 如果配置的行动是「SET NULL」,那么当一个上级键被删除(ON DELETE SET NULL)或修改 (ON UPDATE SET NULL),在子表中全部行的对应上级键的子键列被设置为包含 SQL NULL 值。 |
SET DEFAULT | 「SET DEFAULT」动作类似「SET NULL」,除了每个子键列被设置包含默认值而不是 NULL。 |
搁置
搁置外键限制不会检查,直致事务尝试提交。
相关主题:
外键数据选择
唯一键限制确保在表的全部列中一个列或一组列的数据是独一无二。
在 唯一键 选项卡,只需简单地点击唯一键字段来编辑。使用唯一键工具栏,能让你创建新的、编辑或删除选择的唯一键字段。
按钮 | 描述 |
添加唯一键 | 添加一个唯一键到表。 |
删除唯一键 | 删除已选择的唯一键。 |
使用 名 编辑框来设置唯一键名。
要包含字段到唯一键,只需简单地双击 字段 字段或点击
来打开编辑器进行编辑。
ON CONFLICT
指定一个算法用来解决限制冲突。
ROLLBACK | 当限制冲突发生时,立即发生回滚,从而结束当前的事务,并中止命令加上一个 SQLITE_CONSTRAINT 的返回代码。如果没有事务是有效的(除了创建在每个命令的必需事 务),那么这算法做法和 ABORT 一样。 |
ABORT | 当限制冲突发生时,命令放弃任何之前可能作出的改变,并中止加上一个 SQLITE_CONSTRAINT 的返回代码。但是,没有运行回滚,所以由之前命令作出的改变得以 保存。这是默认的性能。 |
FAIL | 当限制冲突发生时,命令中止加上一个 SQLITE_CONSTRAINT 的返回代码。但之前遇到限制冲突的命令出的任何改变得以保存及不会放弃。例如:如果 UPDATE 语句在它尝试更新的第 100 行遇到限制冲突,那么头 99 行改变保存但行 100 及以后的改变不会发生。 |
IGNORE | 当限制冲突发生时,包含限制冲突的一行不会插入或更新。但命令继续正常运行。其他行在包 含限制冲突的行之前及之后继续正常插入或更新。当使用 IGNORE 冲突解决算法时,不会返 回错误。 |
REPLACE | 当一个 UNIQUE 限制冲突发生时,在插入或更新当前行,前行导致限制冲突被移除。因此, 插入或更新总是发生。命令继续正常运行后取代。REPLACE 冲突解决算法不会返回错误。如果一个 NOT NULL 限制冲突发生时,NULL 值被该列的默认值取代。如果该列没有默认值, 那么使用 ABORT 算法。如果一个 CHECK 限制冲突发生时,会使用 IGNORE 算法。 |
字段编辑器
从 名 列表选择字段。要从唯一键中移除字段,以相同的方式取消勾选它们。你也可以用箭头按钮来改变唯一键字段排序。
排序规则
指定列的文本项目使用的排序规则序列。默认排序规则序列是为该列定义的排序规则序列。
BINARY | 使用 memcmp() 比较字符串数据,不管文本编码。 |
NOCASE | 和 binary 一样,除了在运行比对时, ASCII 的 26 个大写字符折叠到它们对应的小写。请注意,只有 ASCII 字符是大小写折叠。SQLite 不尝试做完整的 UTF 大 小写折叠由于表所需的大小。 |
RTRIM | 和 binary 一样,除了尾随空格字符被忽略。 |
注意:SQLite 3 支持。
排序顺序
表明排序顺序 - 递增「ASC」或递减「DESC」。
检查限制是最通用的限制类型。它允许指定在某列的值必须符合一个 Boolean(真值)表达式。
在 检查 选项卡,只需简单地点击检查字段来编辑。使用检查工具栏,能让你创建新的、编辑或删除选择的检查字段。注意:SQLite 3.3.0 或以上版本支持检查。
按钮 | 描述 |
添加检查 | 添加一个检查到表。 |
删除检查 | 删除已选择的检查。 |
使用 名 编辑框来设置检查名。
检查
在 检查 编辑框设置检查的条件,例如:「字段 1 > 0 AND 字段 2 > 字段 1」。
定义
输入检查限制的定义。
触发器是一个数据库操作,当指定数据库事件发生,它会自动运行。
在 触发器 选项卡,只需简单地点击触发器字段来编辑。使用触发器工具栏,能让你创建新的、编辑或删除选择的触发器字段。
按钮 | 描述 |
添加触发器 | 添加一个触发器到表。 |
删除触发器 | 删除已选择的触发器。 |
名
设置触发器名。
触发
决定何时运行触发器动作,相对于插入,修改或移除相关的行。
插入
触发触发器每当一个 INSERT 语句添加行到表。
更新
触发触发器每当一个 UPDATE 语句改变在 更新字段。如果没有 更新字段 存在,触发器将被触发每当一个 UPDATE语句改变表中的任何列。
删除
触发触发器每当一个 DELETE 语句从表移除一行。
更新字段
必要时指定字段给 UPDATE 语句触发器。
定义
输入触发器的定义。
当子句
指定触发器条件,这是一个 SQL 条件必须符合给数据库来触发触发器。
主 键 ON CONFLICT
指定一个算法用来解决主键限制冲突。
ROLLBACK | 当限制冲突发生时,立即发生回滚,从而结束当前的事务,并中止命令加上一个 SQLITE_CONSTRAINT 的返回代码。如果没有事务是有效的(除了创建在每个命令的必需事务), 那么这算法做法和 ABORT 一样。 |
ABORT | 当限制冲突发生时,命令放弃任何之前可能作出的改变,并中止加上一个 SQLITE_CONSTRAINT 的 返回代码。但是,没有运行回滚,所以由之前命令作出的改变得以保存。这是默认的性能。 |
FAIL | 当限制冲突发生时,命令中止加上一个 SQLITE_CONSTRAINT 的返回代码。但之前遇到限制冲突的命令出的任何改变得以保存及不会放弃。例如:如果 UPDATE 语句在它尝试更新的第 100 行遇 到限制冲突,那么头 99 行改变保存但行 100 及以后的改变不会发生。 |
IGNORE | 当限制冲突发生时,包含限制冲突的一行不会插入或更新。但命令继续正常运行。其他行在包含限制 冲突的行之前及之后继续正常插入或更新。当使用 IGNORE 冲突解决算法时,不会返回错误。 |
REPLACE | 当一个 UNIQUE 限制冲突发生时,在插入或更新当前行,前行导致限制冲突被移除。因此,插入或更新总是发生。命令继续正常运行后取代。REPLACE 冲突解决算法不会返回错误。如果一个 NOT NULL 限制冲突发生时,NULL 值被该列的默认值取代。如果该列没有默认值,那么使用 ABORT 算 法。如果一个 CHECK 限制冲突发生时,会使用 IGNORE 算法。 |
自动递增
在编辑字段设置或重设 自动递增 的值。自动递增值指示下一个记录的值。
WITHOUT ROWID
忽略 rowid(和「oid」、「_rowid_」)。注意:SQLite 3.8.2 或以上版本支持。
视图是用于访问一組关联(表),就像它是一个单一的表,并限制它们访问这一点。视图也可以用来限制访问行(一个特定表的子集)。点击
来打开 视图 的对象列表。
你可以创建视图快捷方式,在对象列表窗格中的视图上右击并在弹出菜单中选择 创建打开视图快捷方式。这个选项是用来提供一个打开视图的便捷方式而无需打开主 Navicat。
按钮 | 描述 |
预览 | 预览视图的结果。 |
解释 | 显示视图的查询计划。 |
美 化 SQL | 在编辑器中以美化 SQL 选项设置代码的格式。 |
注意:你可以通过选择 查看 -> 显示结果 -> 在查询编辑器下面 或 在新选项卡 来选择显示结果选项卡在编辑器下面或在新选项卡。
视图创建工具(只限于完整版本)
视图创建工具 让你能视觉化地创建视图。即使不了解 SQL,它能让你创建及编辑视图。详细信息请看查询创建工具。
定义
你可以编辑视图定义为 SQL 语句(它实施的 SELECT 语句)。
提示:要自定义编辑器的视图并查看更多 sql 编辑功能,请看编辑器高级功能。
视图查看器
视图查看器 以网格显示视图数据。数据可以用两种模式显示:网格查看 和 表单查看。详细信息请看表查看器。
索引提供一个更快的访问路径到表数据。它是用一个或多个列创建,来加快 SQL 语句运行在该表。点击
来打开 索引 的对象列表。
常规属性类型
索引的类型。
Normal | 一个 | normal | 索引不施加限制到列值。 |
Unique | 一个 | unique | 索引表示没有表的两行在键列有重复值。 |
表名
包含索引的表。
名
定义字段。
排序规则
指定列的文本项目使用的排序规则序列。默认排序规则序列是为该列定义的排序规则序列。
BINARY | 使用 memcmp() 比较字符串数据,不管文本编码。 |
NOCASE | 和 binary 一样,除了在运行比对时, ASCII 的 26 个大写字符折叠到它们对应的小写。请注意,只有 ASCII 字符是大小写折叠。SQLite 不尝试做完整的 UTF 大小写折 叠由于表所需的大小。 |
RTRIM | 和 binary 一样,除了尾随空格字符被忽略。 |
注意:SQLite 3 支持。
排序顺序
表明排序顺序 - 递增「ASC」或递减「DESC」。
触发器是当指定的数据库事件发生时自动运行的数据库操作。点击
来打开 触发器 的对象列表。详细信息请看触发器。
常规属性
触发器类型
定义触发器类型:TABLE 或 VIEW。
表名 或 视图名
选择一个表或视图。
BEFORE
当尝试在行操作前,可以指定触发触发器。
AFTER
当尝试在行操作后,可以指定触发触发器。
INSTEAD OF
指定触发触发器来代替尝试在行操作。
当
指定触发条件为数据库触发触发器。
插入
触发触发器每当添加行到表或添加一个元素到嵌套表。
删除
触发触发器每当从表移除一行或从嵌套表移除一个元素。
更新
触发触发器每当改变在 更新字段 中指定的列的值。
更新字段
必要时指定字段给 UPDATE 语句触发器。
定义
你可以在触发器定义内的 BEGIN 及 END 编辑有效的 SQL 语句。