当前位置: 首页 > 文档资料 > Navicat 中文文档 >

SQLite 对象

优质
小牛编辑
132浏览
2023-12-01

要开始使用服务器对象,你应该创建并打开一个连接。

你可以附加数据库,在已打开的连接上右击并选择 附加数据库 及输入下面的信息。

选项描述
数据库文件设置数据库的文件路径。
数据库名输入 Navicat 显示的数据库名。
已加密启用此选项,并提供连接到已加密的 SQLite 数据库的 密码

要分离数据库,在连接树中的数据库上右击并选择 分离数据库

如果你想加密或解密数据库,简单地在连接树中的数据库上右击并选择 加密数据库 解密数据库

一个特殊的表名为 sqlite_master,保存完整的数据库模式。要查看 sqlite_master 表,在数据库上右击并从弹出菜单选择 查看主要表

SQLite 表

关联式数据库使用表来保存数据。全部数据操作都在表上完成或生成另一个表作为结果。表是一组行和列,以及它们的相交点是字段。从一般的角度来看,列在一个表中描述数据的名和类型,被行发现其列的字段。行在一个表中代表列组成的记录,从左至右由相应列的名和类型描述。每一个在行中的字段是和该行的其他字段含蓄地相关。点击
来打开的对象列表。

当要打开有图形字段的表时,在表上右击并在弹出菜单中选择
打开表 (快速)。用更快的性能打开图形表,BLOB 字段(图片) 将不会被加载直到你点击单元格。如果你希望当打开表时 Navicat 加载全部你的图片请使用
打开表

你可以创建一个表快捷方式,在对象列表窗格中的表上右击并在弹出菜单中选择 创建打开表快捷方式。这个选项是用来提供一个打开表的便捷方式,可以直接输入数据而无需打开主 Navicat。

要清空一个表,在已选择的表上右击并在弹出菜单中选择 清空表

SQLite 表字段

字段 选项卡中,只需简单地点击字段来编辑。右击来显示弹出菜单或使用字段工具栏,能让你创建新的、插入、移动或删除选择的字段。要搜索一个字段名,选择 编辑 -> 查找 或按 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,你可以在选项选项卡设置该值。

SQLite 表索引

索引提供一个更快的访问路径到表数据。它是用一个或多个列创建,来加快 SQL 语句运行在该表。

索引 选项卡,只需简单地点击索引字段来编辑。使用索引工具栏,能让你创建新的、编辑或删除选择的索引字段。

按钮描述

添加索引
添加一个索引到表。

删除索引
删除已选择的索引。

使用 编辑框来设置索引名。

要在索引包含字段,只是简单地双击 字段 字段或点击
来打开编辑器进行编辑。

唯一键

索引列的全部值必须只出现一次。

字段编辑器

列表选择字段。你也可以用箭头按钮来改变索引字段排序。

排序规则

指定列的文本项目使用的排序规则序列。默认排序规则序列是为该欄定义的排序规则序列。

BINARY使用 memcmp() 比较字符串数据,不管文本编码。
NOCASE和 binary 一样,除了在运行比对时, ASCII 的 26 个大写字符折叠到它们对应的小写。请注意,只有 ASCII 字符是大小写折叠。SQLite 不尝试做完整的 UTF 大

小写折叠由于表所需的大小。

RTRIM和 binary 一样,除了尾随空格字符被忽略。

注意:SQLite 3 支持。

排序顺序

表明排序顺序 - 递增「ASC」或递减「DESC」。

SQLite 表外键

外键是一个在关联式表中符合另一个表主键的字段。

外键 选项卡,只需简单地点击外键字段来编辑。使用外键工具栏,能让你创建新的、编辑或删除选择的外键字段。

按钮描述

添加外键
添加一个外键到表。

删除外键
删除已选择的外键。

使用 编辑框来输入新键的名。

使用 参考表 下拉列表来选择一个外部索引表。

要包含字段或参考字段到键,只需简单地双击 字段 参考字段 字段或点击
来打开编辑器进行编辑。

删除时 和 更新时 下拉列表定义采取行动的类型。

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。

搁置

搁置外键限制不会检查,直致事务尝试提交。

相关主题:

外键数据选择

SQLite 表唯一键

唯一键限制确保在表的全部列中一个列或一组列的数据是独一无二。

唯一键 选项卡,只需简单地点击唯一键字段来编辑。使用唯一键工具栏,能让你创建新的、编辑或删除选择的唯一键字段。

按钮描述

添加唯一键
添加一个唯一键到表。

删除唯一键
删除已选择的唯一键。

使用 编辑框来设置唯一键名。

要包含字段到唯一键,只需简单地双击 字段 字段或点击
来打开编辑器进行编辑。

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」。

SQLite 表检查

检查限制是最通用的限制类型。它允许指定在某列的值必须符合一个 Boolean(真值)表达式。

检查 选项卡,只需简单地点击检查字段来编辑。使用检查工具栏,能让你创建新的、编辑或删除选择的检查字段。注意:SQLite 3.3.0 或以上版本支持检查。

按钮描述

添加检查
添加一个检查到表。

删除检查
删除已选择的检查。

使用 编辑框来设置检查名。

检查

检查 编辑框设置检查的条件,例如:「字段 1 > 0 AND 字段 2 > 字段 1」。

定义

输入检查限制的定义。

SQLite 表触发器

触发器是一个数据库操作,当指定数据库事件发生,它会自动运行。

触发器 选项卡,只需简单地点击触发器字段来编辑。使用触发器工具栏,能让你创建新的、编辑或删除选择的触发器字段。

按钮描述

添加触发器
添加一个触发器到表。

删除触发器
删除已选择的触发器。

设置触发器名。

触发

决定何时运行触发器动作,相对于插入,修改或移除相关的行。

插入

触发触发器每当一个 INSERT 语句添加行到表。

更新

触发触发器每当一个 UPDATE 语句改变在 更新字段。如果没有 更新字段 存在,触发器将被触发每当一个 UPDATE语句改变表中的任何列。

删除

触发触发器每当一个 DELETE 语句从表移除一行。

更新字段

必要时指定字段给 UPDATE 语句触发器。

定义

输入触发器的定义。

当子句

指定触发器条件,这是一个 SQL 条件必须符合给数据库来触发触发器。

SQLite 表选项

主 键 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 或以上版本支持。

SQLite 视 图

视图是用于访问一組关联(表),就像它是一个单一的表,并限制它们访问这一点。视图也可以用来限制访问行(一个特定表的子集)。点击
来打开 视图 的对象列表。

你可以创建视图快捷方式,在对象列表窗格中的视图上右击并在弹出菜单中选择 创建打开视图快捷方式。这个选项是用来提供一个打开视图的便捷方式而无需打开主 Navicat。

按钮描述

预览
预览视图的结果。

解释
显示视图的查询计划。

美 化 SQL
在编辑器中以美化 SQL 选项设置代码的格式。

注意:你可以通过选择 查看 -> 显示结果 -> 在查询编辑器下面 在新选项卡 来选择显示结果选项卡在编辑器下面或在新选项卡。

视图创建工具(只限于完整版本)

视图创建工具 让你能视觉化地创建视图。即使不了解 SQL,它能让你创建及编辑视图。详细信息请看查询创建工具。

定义

你可以编辑视图定义为 SQL 语句(它实施的 SELECT 语句)。

提示:要自定义编辑器的视图并查看更多 sql 编辑功能,请看编辑器高级功能。

视图查看器

视图查看器 以网格显示视图数据。数据可以用两种模式显示:网格查看 和 表单查看。详细信息请看表查看器。

SQLite 索 引

索引提供一个更快的访问路径到表数据。它是用一个或多个列创建,来加快 SQL 语句运行在该表。点击
来打开 索引 的对象列表。

常规属性类型

索引的类型。

Normal一个normal索引不施加限制到列值。
Unique一个unique索引表示没有表的两行在键列有重复值。

表名

包含索引的表。

定义字段。

排序规则

指定列的文本项目使用的排序规则序列。默认排序规则序列是为该列定义的排序规则序列。

BINARY使用 memcmp() 比较字符串数据,不管文本编码。
NOCASE和 binary 一样,除了在运行比对时, ASCII 的 26 个大写字符折叠到它们对应的小写。请注意,只有 ASCII 字符是大小写折叠。SQLite 不尝试做完整的 UTF 大小写折

叠由于表所需的大小。

RTRIM和 binary 一样,除了尾随空格字符被忽略。

注意:SQLite 3 支持。

排序顺序

表明排序顺序 - 递增「ASC」或递减「DESC」。

SQLite 触发器

触发器是当指定的数据库事件发生时自动运行的数据库操作。点击
来打开 触发器 的对象列表。详细信息请看触发器。

常规属性

触发器类型

定义触发器类型:TABLE 或 VIEW。

表名 或 视图名

选择一个表或视图。

BEFORE

当尝试在行操作前,可以指定触发触发器。

AFTER

当尝试在行操作后,可以指定触发触发器。

INSTEAD OF

指定触发触发器来代替尝试在行操作。

指定触发条件为数据库触发触发器。

插入

触发触发器每当添加行到表或添加一个元素到嵌套表。

删除

触发触发器每当从表移除一行或从嵌套表移除一个元素。

更新

触发触发器每当改变在 更新字段 中指定的列的值。

更新字段

必要时指定字段给 UPDATE 语句触发器。

定义

你可以在触发器定义内的 BEGIN 及 END 编辑有效的 SQL 语句。