SQL 约束 讲解 2009-04-27 09:29 约束 主要包括: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT 1、not null :用于控制字段的内容一定不能为空(NULL)。 用法 :Create table MyTable ( id varchar(32) not null , name varchar (32) ) 2、Uniq
SQL 约束讲解
2009-04-27 09:29
约束主要包括:
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT
1、not null :用于控制字段的内容一定不能为空(NULL)。
用法 :Create table MyTable
(
id varchar(32) not null,
name varchar (32)
)
2、Unique :控件字段内容不能重复,一个表允许有多个 Unique 约束。
在Sql Server、Orcale、MS Access 支持的添加 Unique 语法:
Create table MyTable
(
id varchar(32) not null unique,
name varchar (32)
)
在Sql Server、 My Sql 支持的添加 Unique 语法:
Create table MyTable
(
id varchar(32) not null,
name varchar (32), unique (id,.....)
)
在Sql Server、Orcale、MS Access、My Sql 都支持的添加 Unique 语法:
Create table MyTable
(
id varchar(32) not null,
name varchar (32),
Constraint uniqueName
unique(UniqueColumn,.....)
)
注:第一种写法(也就是在字段后面直接添加约束),保证每个字段数据唯一性。
第二种写法(也就是同时添加几个字段为约束),这个是保证几个字段数据同时是唯一的,比如 Unique(id,name) 两个字段为约束,那么当 id 有重复值,而 name 没有重复值的情况下是允许的,只有当两个字段数据都与原数据重复的情况下才是不允许的。
在Sql Server、Orcale、MS Access 中删除外键约束的语法:
Alter table myTB1 Drop Constraint foreignName;
在My Sql 中删除外键约束的语法:
Alter table myTB1 Drop foreign key foreignName;
5、Check :用于控制字段的值范围。
在Sql Server、My Sql 支持的添加check 语法:
Create table myCheck (
id nvarchar(32) not null,
age int not null, check (age>15 and age
)
在Sql Server、Orcale、MS Access 支持的添加 check语法:
Create table myCheck
(
id nvarchar(32) not null, age int not null check (age>15 and age
)
在Sql Server、Orcale、MS Access、My Sql 都支持的添加 check 语法:
Create table myCheck
(
id nvarchar(32) not null,
age int not null, constraint checkName check (age30)
)