当前位置:Gxlcms > mysql > oracle知识整理

oracle知识整理

时间:2021-07-01 10:21:17 帮助过:33人阅读

额滴数据库太薄弱了,整理一下知识点吧: 外键(foreign key)约束: 在建表之后,为表增加外键约束可以像下面这样操作: 为表增加外键约束: 1、alert table student 2、add constraint stu_fk foreign key (classid) 3、references class(classid) 为stude

额滴数据库太薄弱了,整理一下知识点吧:

外键(foreign key)约束:

在建表之后,为表增加外键约束可以像下面这样操作:

为表增加外键约束:

1、alert table student

2、add constraint stu_fk foreign key (classid)

3、references class(classid)

为student表增加外键(我们称student为字表)。

其中,第二行代码表示为student表的classid字段增加外键约束,外键约束的别名叫stu_fk。

第三行代码表示该外键约束指向class表中的classid列。

注意:外键列(第一个classid)和被引用列(第二个classid)的列名可以不同,但是数据类型要相同;另外,在创建外键约束之前,父表必须已经存在,并且父表的引用列也就是父表的主键列必须被定义为unique或者primary key约束。


在建表时,为表增加外键约束可以像下面这样操作:

create table student(

stu_id number(8) not null primary key; //表的主键

stu_code varchar2(10) ,

classid number(4) references class(classid) // /表的外键

);


删除外键约束:

alert table student drop constraint stu_fk f(外键约束)


check约束:

在建表时创建约束:

为列指定check约束,如下:

create table student(

stu_id number(8) not null primary key; //表的主键

stu_code varchar2(10) unique,

stuage number(3) constraint age_ck check(stuage > 0)

classid number(4) references class(classid) // /表的外键

);


在建表后创建约束:

alert table student add constraint stuage_ck check(stuage > 0);


删除约束:

alert tablestudent drop constraint stuage_ck;


unique约束:

如果为列定义unique约束,那么该列中不能包含重复的值,可以在同一个列上建立unique和not null

在建表时创建unique:

create table student (

stuid number(10) not null primary key,

stucode number(20) constraint stu_uk unique,

stuage number(3) constraint stuag_ck check(stuage > 0)

);

如果为一个列建立unique约束,而没有not null 约束,则该列的数据可以包含多个null值,多个null值不算重复值。


在建表后创建unique:

alert table student add unique(stuname);


删除unique约束:

alert table student drop unique(stuname)或

alert table student drop constraintstu_uk(约束名)

人气教程排行