######################
维护数据的完整性---约束
约束包括:
not null 非空(可以为'', 不能为NULL)
如果在列上定义了not null , 那么当插入数据时, 必须为列提供数据
unique 唯一的
当定义了唯一约束后, 该列值是不能重复的,但是可以为NULL但最多只能有一个NULL
primary key 主键 (一张表最多只能有一个主键,但是可以有多个unique约束)
用于唯一的标示表行的诗句, 当定义主键约束后,该列不但不能重复而且不能为NULL,表可以有复合(组合)主键
例子
create table test(
testID int,
testName nvarchar(30),
testpass nvarchar(30),
testAge int,
primary key (testID , testAge )(同时相同,认为重复)
)
foreign key 外键
用于定义主表和从表之间的关系 , 外键约束要定义在主表上,主表则必须具有主键约束或是unique约束, 当定义外键约束后, 要求外键列数据必须在主表的主键列存在或是为NULL
check 检查(指定值的范围)
用于强制行数据必须满足的条件,假定在sal列上定义了check约束,并要求sal列值在1000~2000之间如果不在1000~2000之间就会提示出错
例子
create table test(
age int check (age>=0 and sal<=200) #规定sal的值0~200
维护数据的完整性---约束
约束包括:
not null 非空(可以为'', 不能为NULL)
如果在列上定义了not null , 那么当插入数据时, 必须为列提供数据
unique 唯一的
当定义了唯一约束后, 该列值是不能重复的,但是可以为NULL但最多只能有一个NULL
primary key 主键 (一张表最多只能有一个主键,但是可以有多个unique约束)
用于唯一的标示表行的诗句, 当定义主键约束后,该列不但不能重复而且不能为NULL,表可以有复合(组合)主键
例子
create table test(
testID int,
testName nvarchar(30),
testpass nvarchar(30),
testAge int,
primary key (testID , testAge )(同时相同,认为重复)
)
foreign key 外键
用于定义主表和从表之间的关系 , 外键约束要定义在主表上,主表则必须具有主键约束或是unique约束, 当定义外键约束后, 要求外键列数据必须在主表的主键列存在或是为NULL
check 检查(指定值的范围)
用于强制行数据必须满足的条件,假定在sal列上定义了check约束,并要求sal列值在1000~2000之间如果不在1000~2000之间就会提示出错
例子
create table test(
age int check (age>=0 and sal<=200) #规定sal的值0~200
)
default
如果再回到从前...别YY啦,快复习吧
俗话说,书读百遍,其义自现。在学习新的知识点前,你还记得之前我们学过的东西吗?...
1)创建数据库(以Firebird为例)
2)在数据库中创建一张表
3)在表中插入一条数据
4)我们可以向表中插入很多条类似的用户数据,最终在数据库形成了具有大量数据的表格。那么,一个问题来了,我们将数据保存在表格中,到底想要干嘛呢?
投影查询的概念
前面向大家介绍了查询的几种途径方式,现在我们来具体的学习,首先和大家谈谈“投影查询”。
基本定义:选择表中若干列组成新的表(从列的角度)
图示描述: