SQLite入门语句之约束

一、SQLite约束之NOT NULL

确保某列不能有 NULL 值。默认情况下,列可以保存 NULL 值。如果您不想某列有 NULL 值,那么需要在该列上定义此约束,指定在该列上不允许 NULL 值。

NULL 与没有数据是不一样的,它代表着未知的数据。

1、限制字段A的值不能为NULL值

create table_name (字段A 数据类型 NOT NULL, 字段B 数据类型, ... 字段N 数据类型)

二、SQLite约束之DEFAULT

当某列没有指定值时,为该列提供默认值。DEFAULT 约束在 INSERT INTO 语句没有提供一个特定的值时,为列提供一个默认值。

1、给字段A设置默认值

create table_name (字段A 数据类型 defulte 默认值, 字段B 数据类型, ... , 字段N 数据类型)

三、SQLite约束之UNIQUE 

确保某列中的所有值是不同的。UNIQUE 约束防止在一个特定的列存在两个记录具有相同的值。

1、约束字段A不能又相同的值

create table_name (字段A 数据类型 unique, 字段B 数据类型,... , 字段N 数据类型)

四、SQLite约束之PRIMARY Key

唯一标识数据库表中的各行/记录。PRIMARY KEY 约束唯一标识数据库表中的每个记录。在一个表中可以有多个 UNIQUE 列,但只能有一个主键。在设计数据库表时,主键是很重要的。主键是唯一的 ID。

1、设置字段A为主键

create table_name (字段A 数据类型 primary key, 字段B 数据类型, ..., 字段N 数据类型)

2、设置字段A为自增长主键

create table_name (字段A integer primary key autoincrement, 字段B 数据类型, ..., 字段N 数据类型)

五、SQLite约束之CHECK

CHECK 约束确保某列中的所有值满足一定条件。CHECK 约束启用输入一条记录要检查值的条件。如果条件值为 false,则记录违反了约束,且不能输入到表

 1、约束字段A(数据类型:integer)的值不能小于100

create table_name (字段A integer c, 字段B 数据类型, ...check(字段A > 100), 字段N 数据类型)

注:SQLite 支持 ALTER TABLE 的有限子集。在 SQLite 中,ALTER TABLE 命令允许用户重命名表,或向现有表添加一个新的列。重命名列,删除一列,或从一个表中添加或删除约束都是不可能的。

原文地址:https://www.cnblogs.com/francisblogs/p/6709767.html