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所设定的范围或者类型,否则,不能保存数据
接下来根据一个案例,使用上面的所有约束,要求如下:

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

其次,可以直接使用sqlplus建表(操作简单,此处略)
在以上要求得基础上,增加限制,要求如下:

1、限定商品名不能为空

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

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

4、删除约束
alter table 表名 drop constraint 约束名
5、显示约束信息:查看数据字典视图:user_constraints就可以(或者直接plsql查看)

此处注意区别表级定义和列级定义:
列级定义:在定义列的同事定义约束
表级定义:在定义了所有列后,再定义约束,注意:not null 只能在列级定义上。
约束就先总结到这里,下次接着总结索引!
oracle逐步学习总结之约束(基础五)的更多相关文章
- oracle JOB学习(一)---基础
oracle job简介 下面文章来自网友(格式稍加整理) 主要的使用情景 定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等 熟化说万事开头难,这 ...
- day 70 Django基础五之django模型层(二)多表操作
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 ORM ...
- day 69 Django基础五之django模型层(一)单表操作
Django基础五之django模型层(一)单表操作 本节目录 一 ORM简介 二 单表操作 三 章节作业 四 xxx 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现 ...
- day 56 Django基础五之django模型层(二)多表操作
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 ORM ...
- day 55 Django基础五之django模型层(一)单表操作
Django基础五之django模型层(一)单表操作 本节目录 一 ORM简介 二 单表操作 三 章节作业 四 xxx 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 序章
Asp.Net MVC4 + Oracle + EasyUI 序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1. 简 ...
- 实验楼课程管理程序-深入学习《C++ Primer第五版》实验报告&学习笔记1
本片博客为实验楼的训练营课程深入学习<C++ Primer第五版>的实验报告和学习笔记. 原课程地址为:https://www.shiyanlou.com/courses/405# 原文出 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
随机推荐
- 企业项目开发--本地缓存guava cache(2)
此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. AdminCacheKey: package com.xxx.vo.userManagement; /** ...
- 【编程之外】从《海贼王》的视角走进BAT的世界
写在前面的话: 1.从写第一篇博客起到现在篇“纯”技术博客,所以呢-,就想写点不一样的东西,所以就有了这篇文章了 2.本文纯属瞎写,不代表任何第三方的观点.仅仅是出于我对于博客园和那部热血动漫的热爱. ...
- [学习笔记]Link-Cut Tree
我终于理解了 \(LCT\)!!!想不到小蒟蒻有一天理解了!!! 1.[模板]Link Cut Tree 存个板子 #include <bits/stdc++.h> using names ...
- 2018 Multi-University Training Contest 6
A.oval-and-rectangle 题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6362 题意:在长半轴为a,短半轴为b的椭圆内部,以y=c( ...
- spring boot实现异步调用
今天在这里学习下使用springboot的异步调用async 首先使用@EnableAsync开启异步功能 /** * @author fengzp * @date 17/5/8 * @email f ...
- 交换机与VLAN
1. 交换机 1.1 定义 交换机是一种基于MAC地址识别,能完成封装转发数据帧功能的网络设备. HUB集线器是一种物理层共享设备,HUB本身不能识别MAC 地址和IP地址,当同一局域网内的A主机给B ...
- js的相关函数封装(正则表达式,获取url参数,时间格式化)
一:// 验证中文名称 function isChinaName(name) { var pattern = /^[\u4E00-\u9FA5]{1,6}$/ return pattern.test( ...
- Docker三剑客之Docker Swarm
一.什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/s ...
- POJ 2840
#include<iostream> #include<stdio.h> #include<string> using namespace std; int mai ...
- Mysql 和 Postgresql 抛开性能的对比
MySQL/MariaDB的当前版本是5.7.6(MariaDB为MySQL创建者Monty Widenius创建的一个MySQL分支),PostgreSQL的版本是9.4.1. 以下几个方面对比两者 ...