SQLite-CONSTRAINTS(约束)

SQLite – CONSTRAINTS(约束)

约束是数据列在表上执行的规则。这些是用来限制的数据类型可以进入一个表。这样可以确保数据的准确性和可靠性在数据库中。    

级或表级约束可以列。列级约束是仅适用于一个列在表级约束应用于整个表。    

以下是常用的约束在SQLite

  • NOT NULL Constraint: 确保列不能为空值。
  • DEFAULT Constraint : 提供了一个列的默认值时没有指定
  • UNIQUE Constraint: 确保列中的所有值是不同的。
  • PRIMARY Key: 惟一地标识每个行/记录在一个数据库表中
  • CHECK Constraint: 检查约束确保列中的所有值满足某些条件。

Not Null Constraint约束

默认情况下,一个列可以容纳NULL值。如果你不想要一个列有一个空值,那么您需要定义这些约束在这列指定NULL列现在不允许。    

空不等于没有数据,相反,它代表了未知数据。

例子:

例如,下面的SQLite语句创建一个新的表称为公司,增加了五列,,ID和姓名和年龄,不接受指定null:

CREATE TABLE COMPANY(

ID INT PRIMARY KEY NOT NULL,

NAME TEXT NOT NULL,

AGE INT NOT NULL,

ADDRESS CHAR(50),

SALARY REAL

);

DEFAUL约束

默认约束提供了一个默认值时,一列插入语句不提供一个特定的值。

例子:

例如,下面的SQLite语句创建一个新的表称为公司和5列补充道。这里,薪水列默认设置为5000.00,所以如果插入语句为本专栏不提供一个值,那么默认情况下,本专栏将被设置为5000.00

CREATE TABLE COMPANY(

ID INT PRIMARY KEY NOT NULL,

NAME TEXT NOT NULL,

AGE INT NOT NULL,

ADDRESS CHAR(50),

SALARY REAL DEFAULT 50000.00

);

UUNIQUE(唯一)约束

独特的约束阻止两个记录有相同的值在一个特定的列。公司的表,例如,您可能想要阻止两个或两个以上的人拥有相同的年龄。

例子:

例如,下面的SQLite语句创建一个新的表称为公司和5列补充道。列在这里,年龄是独一无二的,所以你不能有两个记录相同的年龄:

CREATE TABLE COMPANY(

ID INT PRIMARY KEY NOT NULL,

NAME TEXT NOT NULL,

AGE INT NOT NULL UNIQUE,

ADDRESS CHAR(50),

SALARY REAL DEFAULT 50000.00

);

PRIMARY KEY约束

主键约束惟一地标识每个记录在一个数据库表中。可以有更多独特的列,但只有一个表中的主键。主键是重要的在设计数据库表。主键是唯一的id。 

     

我们用它们来参考表行。主键成为其他表的外键,当创建表之间的关系。由于长期存在的编码监督,主键在SQLite可以为空。与其他数据库情况并非如此。

 

主键是表中的一个字段唯一地标识每一行/记录在一个数据库表中。主键必须包含唯一的值。一个主键列不能为空值。

 

一个表只能有一个主键,可能由单个或多个字段。当使用多个字段主键,他们被称为一个composite key复合键)。

 

如果一个表定义一个主键字段(s),那么你不能有两个记录有相同的值,字段(s)。如果一个表上定义一个主键

 

例子:

你已经看过上面各种示例,我们创造了公司的表与ID主键:

CREATE TABLE COMPANY(

ID INT PRIMARY KEY NOT NULL,

NAME TEXT NOT NULL,

AGE INT NOT NULL,

ADDRESS CHAR(50),

SALARY REAL

);

Check约束

检查约束使条件检查进入一个记录的值。如果条件的求值结果为false,记录违反约束,不输入到表。

CREATE TABLE COMPANY3(

ID INT PRIMARY KEY NOT NULL,

NAME TEXT NOT NULL,

AGE INT NOT NULL,

ADDRESS CHAR(50),

SALARY REAL CHECK(SALARY > 0)

);

Dropping约束:

SQLite支持有限子集的ALTER TABLESQLiteALTER TABLE命令允许用户重命名一个表或添加一个新的列到现有的表。不能重命名一个列,删除一列,或者从一个表添加或删除约束。

 

 

 

 

posted @ 2014-01-10 12:00  Talbot3  阅读(4035)  评论(0编辑  收藏  举报