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

Wesley13
• 阅读 617

 原创作品,转自请在文章明显位置注明出处: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逐步学习总结之约束(基础五)

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

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

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

1、限定商品名不能为空

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

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

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

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

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

4、删除约束

alter table 表名 drop constraint 约束名

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

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

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

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

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

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
执键写春秋 执键写春秋
3年前
基于Apache DBUtil、Druid、MySQL与java.util.Scanner的 新闻管理系统【控制台版】
新闻管理系统【控制台版】1.数据库创建,创建新闻表news1.1表结构如下:1.2表创建的SQL语句使用逻辑库imoocUSEimooc;创建数据表news/primarykey表示主键|autoincrement表示自增|COMMENT''表示备注NOTNULL表示非空|UNIQUE表示唯一约束/CREA
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
sqlserver2005创建唯一约束的方法
对于一个表中非主键列的指定列,唯一(UNIQUE约束|:强制非主键上的实体完整性的约束。UNIQUE约束确保未输入重复值,并创建一个索引以增强性能。)约束确保不会输入重复的值。例如,在employee表中emp\_id列是主键,可以定义一个唯一约束来要求表中社会安全号码(ssn)列的项是唯一的。在数据库关系图中,可以使用"索引/键"属性页创建、
Stella981 Stella981
3年前
Go 语言编程 — gorm 的数据完整性约束
目录文章目录目录实体完整性(主键约束)用户定义完整性(非空约束、唯一约束、检查约束和默认值)参照完整性(外键约束)关联关系一对一、一对多关联多对多关联示例实体完整性(主键约束)每个关系(表)至少存在一个主
Wesley13 Wesley13
3年前
MySQL创建表时加入的约束以及外键约束的的意义
1,创建表时加入的约束a) 非空约束,notnullb) 唯一约束,uniquec) 主键约束,primarykeyd) 外键约束,foreignkey1,非空约束,针对某个字段设置其值不为空,如:学生的姓名不能为空droptableifexistst_studen
Wesley13 Wesley13
3年前
MySQL中添加、删除约束
MySQL中6种常见的约束:主键约束(primarykey)、外键约束(foreignkey)、非空约束(notnull)、唯一性约束(unique)、默认值约束(defualt)、自增约束(aoto\_increment),下面是添加、删除这几种约束的一些方法。\我已经建了数据库;1\添加约束21、建表时添加约
Wesley13 Wesley13
3年前
mysql约束与索引的区别
一:约束作用:是为了保证数据的完整性而实现的一套机制,它具体的根据各个不同的数据库的实现而有不同的工具(约束);这里主要讲解mysql的约束:1、非空约束:notnull;指示某列不能存储NULL值2、唯一约束:unique();uk unique约束的字段,要求必须是唯一的,但null除外;3、主键约束:
Wesley13 Wesley13
3年前
MySQL表的完整性约束
表的完整性约束为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。  约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种:NOTNULL:非空约束,指定某列不