nn:not
null
非空约束
uk:unique
key
唯一约束
pk:primary
key
主键约束
fk:foreign
key
外键约束
ck:check
条件约束
一张表必须要有一个字段为主键,这段不能为空,并且值唯一,oracle中一般将该字段定义为数值类型,用序列为该字段插入值;其他字段的约束要根据业务需求来定。
给表中的字段添加约束可以在创建表时添加,也可以在修改时添加。
创建表必须给出表名、字段名、字段类型,约束条件不是必须的。
例如:创建如下表时
create
table
tb_constraint_1
(
empno
number
primary
key,
--主键约束
ename
varchar2(20)
not
null,
--非空约束
varchar2(60)
unique,
--唯一约束
sal
number(5)
check(sal>1500),
--核查约束
deptno
number(4)
references
tb_dept(deptno)
--外键约束
)
修改已创建表中某个字段的约束:
alter
table
tb_constraint_1
add
constraint
yueshumingzi
unique(ename
)--修改姓名字段值必须唯一
创建表的外键约束时,外键字段的类型必须和关联表的主键的类型一致。
表名和字段名的长度oracle默认约定为长度不能大于30个字符
创建好的表,字段可以修改,以下是修改
添加表
删除表字段
格式:
alter
table
表名
add
新列列名
列数据类型
[default
0
not
null]
(添加列默认值为0)
alter
table
表名
drop
列名
(删除列)
alter
table
表名
alter
column
列名
新添加的数据类型
(修改列)
你的语法不对,当然出错,详细语法参阅SQL联机丛书--添加非空约束
ALTER TABLE LOVO ALTER COLUMN NAME VARCHAR(20) NOT NULL
--添加默认约束
ALTER TABLE LOVO ADD CONSTRAINT name_default DEFAULT 'zhouqiang' FOR NAME
五大约束1.—-主键约束(Primay Key Coustraint) 唯一性,非空性
2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个
3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)
4.—-默认约束 (Default Counstraint) 该数据的默认值
5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列
五大约束的语法示例
1.—-添加主键约束(将stuNo作为主键)
alter table stuInfo
add constraint PK_stuNo primary key (stuNo)
2.—-添加唯一约束(身份z号唯一,因为每个人的都不一样)
alter table stuInfo
add constraint UQ_stuID unique(stuID)
3.—-添加默认约束(如果地址不填 默认为“地址不详”)
alter table stuInfo
add constraint DF_stuAddress default (‘地址不详’) for stuAddress
4.—-添加检查约束 (对年龄加以限定 15-40岁之间)
alter table stuInfo
add constraint CK_stuAge check (stuAge between 15 and 40)
alter table stuInfo
add constraint CK_stuSex check (stuSex=’男’ or stuSex=’女′)
5.—-添加外键约束 (主表stuInfo和从表stuMarks建立关系,关联字段stuNo)
alter table stuInfo
add constraint FK_stuNo foreign key(stuNo)references stuinfo(stuNo)
约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整性的介绍请参见第9 章)。在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和缺省约束(Default Constraint)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)