oracle知识整理

原创 2013年12月05日 22:22:26

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

外键(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(约束名)





相关文章推荐

大学计算机专业oracle知识整理

  • 2013年08月16日 13:40
  • 18.95MB
  • 下载

oracle基础知识整理

  • 2014年08月26日 09:08
  • 92KB
  • 下载

oracle 物化视图基础知识整理

-----------------------------------------------2014-09-03-------------------------------------------...

oracle知识整理

  • 2011年04月09日 14:33
  • 1.59MB
  • 下载

oracle 基础知识整理

  • 2017年09月11日 15:18
  • 348KB
  • 下载

Oracle知识整理(二)如何分配权限和角色

1.什么是权限,什么是角色

oracle知识点整理

  • 2011年07月16日 14:28
  • 43KB
  • 下载

Oracle基础知识整理总结

1. Oracle跟SQL Server 2005的区别?  宏观上:  1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于w...

ORACLE FLASHBACK QUERY 知识整理

1 通用的闪回方法 SQL> select * from knight.books;//当前状态         ID NAME                      PRICE -------...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle知识整理
举报原因:
原因补充:

(最多只允许输入30个字)