SQLite - 约束
-
简述
约束是对表上的数据列强制执行的规则。这些用于限制可以进入表的数据类型。这保证了数据库中数据的准确性和可靠性。约束可以是列级或表级。列级约束仅应用于一列,而表级约束应用于整个表。以下是 SQLite 中可用的常用约束。-
NOT NULL 约束 - 确保列不能有 NULL 值。
-
DEFAULT 约束 - 当没有指定时,为列提供默认值。
-
UNIQUE 约束 − 确保列中的所有值都不同。
-
PRIMARY Key − 唯一标识数据库表中的每一行/记录。
-
CHECK 约束 − 确保列中的所有值都满足特定条件。
-
-
非空约束
默认情况下,列可以包含 NULL 值。如果您不希望某列具有 NULL 值,那么您需要在此列上定义此类约束,指定该列现在不允许使用 NULL。NULL 与没有数据不同,它代表未知数据。例子
例如,以下 SQLite 语句创建一个名为 COMPANY 的新表并添加五列,其中三列 ID 和 NAME 和 AGE 指定不接受 NULL。 -
默认约束
当 INSERT INTO 语句未提供特定值时,DEFAULT 约束为列提供默认值。例子
例如,以下 SQLite 语句创建一个名为 COMPANY 的新表并添加五列。此处,SALARY 列默认设置为 5000.00,因此,如果 INSERT INTO 语句未为此列提供值,则默认情况下,此列将设置为 5000.00。 -
唯一约束
UNIQUE 约束防止两个记录在特定列中具有相同的值。例如,在 COMPANY 表中,您可能希望防止两个或更多人的年龄相同。例子
例如,以下 SQLite 语句创建一个名为 COMPANY 的新表并添加五列。在这里,AGE 列设置为 UNIQUE,因此您不能有两个相同年龄的记录 - -
主键约束
PRIMARY KEY 约束唯一标识数据库表中的每条记录。可以有更多 UNIQUE 列,但一张表中只有一个主键。在设计数据库表时,主键很重要。主键是唯一的 ID。我们使用它们来引用表行。在表之间创建关系时,主键成为其他表中的外键。由于“长期的编码监督”,SQLite 中的主键可以为 NULL。这不是其他数据库的情况。主键是表中的一个字段,它唯一标识数据库表中的每一行/记录。主键必须包含唯一值。主键列不能有 NULL 值。一张表只能有一个主键,主键可以由单个或多个字段组成。当多个字段用作主键时,它们被称为一个composite key.如果表在任何字段上定义了主键,则不能有两个记录具有该字段的相同值。例子
您已经在上面看到了各种示例,其中我们创建了以 ID 作为主键的 COMPANY 表。 -
检查约束
CHECK 约束使条件能够检查输入到记录中的值。如果条件评估为假,则记录违反约束并且不会输入到表中。例子
例如,以下 SQLite 创建了一个名为 COMPANY 的新表并添加了五列。在这里,我们添加了一个带有 SALARY 列的 CHECK,因此您不能有任何 SALARY 零。 -
删除约束
SQLite 支持有限的 ALTER TABLE 子集。SQLite 中的 ALTER TABLE 命令允许用户重命名表或向现有表添加新列。无法重命名列、删除列或在表中添加或删除约束。