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)
)
Alter table myCheck
add constraint checkName check(id='celly'); --这样定义是自己自定义 check约束名称。
在 Sql Server、Orcale、MS Access 删除表已存在的 check 约束的语法:
Alter table myCheck drop constraint checkName 6、Default :用于设置新记录的默认值。
在Sql Server、Orcale、MS Access、My Sql 添加default约束的语法:
Create table myDefault
(
id int, name nvarchar(32) default 'celly'
)
在My Sql 的已存在表中添加 字段默认值:
Alter table myDefault
Alter [id] set default 0
在 Sql Server、Orcale、MS Access 的已存在表中添加 字段默认值:
Alter table myDefault
Alter column [id] set default 0
在 My Sql 中删除字段默认值语法:
Alter table myDefault
Alter ColumnName drop default
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn