oracle逐步学习总结之约束(基础五)

原创作品,转自请在文章明显位置注明出处:https://www.cnblogs.com/sunshine5683/p/10167717.html

oracle中的约束主要有非空约束(not null)、唯一性约束(unique)、主键约束(primary key)和检查约束(check)。

一、not null:指定在该列的数据不能为null,插入数据时,必须有数据,否则不容许插入

二、unique:指定在该列的数据不能重复,是唯一值,但是容许为null

三、primary key :指定该列的数据不能重复,同时其数据也不能为null,一张表只能有一个primary key,但是可以有多个unique

四、check:指定在该列的数据必须在check所设定的范围或者类型,否则,不能保存数据

接下来根据一个案例,使用上面的所有约束,要求如下:

oracle逐步学习总结之约束(基础五)oracle逐步学习总结之约束(基础五)

首先根据要求使用命令行建表:

oracle逐步学习总结之约束(基础五)oracle逐步学习总结之约束(基础五)

其次,可以直接使用sqlplus建表(操作简单,此处略)

在以上要求得基础上,增加限制,要求如下:

oracle逐步学习总结之约束(基础五)oracle逐步学习总结之约束(基础五)

1、限定商品名不能为空

oracle逐步学习总结之约束(基础五)oracle逐步学习总结之约束(基础五)

2、增加身份证号不能重复的约束

oracle逐步学习总结之约束(基础五)oracle逐步学习总结之约束(基础五)

3、增加客户住址限定,只能在某几个指定的地方

oracle逐步学习总结之约束(基础五)oracle逐步学习总结之约束(基础五)

4、删除约束

alter table 表名 drop constraint 约束名

5、显示约束信息:查看数据字典视图:user_constraints就可以(或者直接plsql查看)

oracle逐步学习总结之约束(基础五)oracle逐步学习总结之约束(基础五)

此处注意区别表级定义和列级定义:

列级定义:在定义列的同事定义约束

表级定义:在定义了所有列后,再定义约束,注意:not null 只能在列级定义上。

约束就先总结到这里,下次接着总结索引!

上一篇:常见的三种Web服务架构


下一篇:C#读取Excel设置(亲测可用)