orcal - 约束
数据库约束
1、非空约束
DROP TABLE member PURGE;
CREATE TABLE member(
mid number ,
name varchar2(20) not null,
email varchar2(30) ,
constraint pk_mid PRIMARY KEY(mid)
);
insert into member(mid,name,email)values(10,'李四','111')
2、唯一约束 null不受null约束 设置别名
UNIQUE,NK
查看约束
user_constraints;
CREATE TABLE member(
mid number,
name varchar2(20) not null,
email varchar2(30) ,
constraint uk_email UNIQUE(email)
);
3、主键约束
=唯一约束+非空约束
DROP TABLE member PURGE;
CREATE TABLE member(
mid number ,
name varchar2(20) not null,
email varchar2(30) ,
constraint pk_mid PRIMARY KEY(mid)
);
一般正常情况,一张只有一个主键
但也有符合主键
复合主键
DROP TABLE member PURGE;
CREATE TABLE member(
mid number ,
name varchar2(20) not null,
email varchar2(30) ,
constraint pk_mid_name PRIMARY KEY(mid,name)
);
4、检查约束(check,ck)
DROP TABLE member PURGE;
CREATE TABLE member(
mid number ,
name varchar2(20) not null,
email varchar2(30) ,
age number(3)
constraint ck_age CHeck(age between 0 and 250)
); insert into member(mid,name,email,age)values(10,'李四','111',330);
5、外键
DROP TABLE member PURGE;
CREATE TABLE member(
mid number ,
name varchar2(20) not null,
constraint pk_mid PRIMARY KEY(mid)
);
DROP TABLE book PURGE;
CREATE TABLE book(
bid number ,
title varchar2(20),
mid number,
constraint pk_bid PRIMARY KEY(bid),
constraint fk_mid FOREIGN KEY(mid) REFERENCES member(mid) ON DELETE CASCADE
); insert into member(mid,name)values(10,'zs');
insert into member(mid,name)values(20,'lisi');
insert into member(mid,name)values(30,'wangwu');
insert into book(bid,title,mid)values(1,'java',10);
insert into book(bid,title,mid)values(2,'java1',20);
insert into book(bid,title,mid)values(3,'java2',30);
insert into book(bid,title,mid)values(44,'java2',40);
限制一:删除父表需要先删除子表
强制删除:不关注子表是否存在,父表直接删除
DROP TABLE member CASCADE CONSTRAINT;
限制二:外键在父类中必须为主键或唯一约束
限制三:默认情况下父类中在子类中有被使用的数据,不能被直接删除
数据级联删除
DROP TABLE book PURGE;
CREATE TABLE book(
bid number ,
title varchar2(20),
mid number,
constraint pk_bid PRIMARY KEY(bid),
constraint fk_mid FOREIGN KEY(mid) REFERENCES member(mid) ON DELETE CASCADE
);
级联跟新
DROP TABLE book PURGE;
CREATE TABLE book(
bid number ,
title varchar2(20),
mid number,
constraint pk_bid PRIMARY KEY(bid),
constraint fk_mid FOREIGN KEY(mid) REFERENCES member(mid) ON DELETE SET null
); 约束修改
DROP TABLE member PURGE;
CREATE TABLE member(
mid number ,
name varchar2(20)
); insert into member(mid,name) values(1,'张三'); 1/添加约束
ALTER TABLE 表名称 ADD CONSTRAINT 约束名称 约束类型(字段)[其他选项]
ALTER TABLE member ADD CONSTRAINT pk_mid PRIMARY KEY(mid);
增加非空
ALTER TABLE member MODIFY(name varchar2(20) NOT null);
删除约束
ALTER TABLE member DROP CONSTRAINT pk_mid;
orcal - 约束的更多相关文章
- ORCAL 数据库的约束以及SQL语言的四种类型
oracle数据库约束: 定义:要输入的这个值是一个什么样的值, 或者是哪个范围内的值 作用: 确保完整性, 确保精确性 1, 非空约束(not null) 记录一条信息的时候如果用户名和密码没有被记 ...
- 数据库之 MySQL --- 数据处理 之 表的约束与分页(七)
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.约束 :为了保证数据的一致性和完整性,SQL规范以约束的方式对表数据进行额外的条件限制 ...
- .NetCore MVC中的路由(2)在路由中使用约束
p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; orphans: 2; widows: 2 ...
- ASP.NET Core的路由[5]:内联路由约束的检验
当某个请求能够被成功路由的前提是它满足某个Route对象设置的路由规则,具体来说,当前请求的URL不仅需要满足路由模板体现的路径模式,请求还需要满足Route对象的所有约束.路由系统采用IRouteC ...
- SQL 约束
先用设计器创建约束.再用代码创建约束.数据库约束是为了保证数据的完整性(正确性)而实现的一套机制见文件Employee.sql非空约束(选择复选框)主键约束(PK) primary key const ...
- mysql 外键约束备注
梳理mysql外键约束的知识点. 1.mysql外键约束只对InnoDb引擎有效: 2.创建外键约束如下: DROP TABLE IF EXISTS t_demo_product; CREATE TA ...
- 如果你发现mysql的外键约束不管用了
不知为何我机子上的mysql竟然默认关闭外键约束,导致我试了好多遍都可以插入非法值,以下语句可以开启约束 SET foreign_key_checks = 1; (0则关闭) 备忘
- C#的泛型的类型参数可以有带参数的构造函数的约束方式吗?
Review后看到标题让我十分羞愧自己语文功底太差,估计...请见谅......我还特地把这句写回开头了...... 问题 前天遇到的一个问题,所以在MSDN发了个问,刚也丰富了下问题,关于泛型的. ...
- Mysql增加、删除和修改列属性和约束,和一些有用的查询语句
最近在整理关于MySql的东西,把一些需要记录的东西写下来,以便以后查询和浏览,以下是一些操作技巧.添加表字段alter table` 表名称` add transactor varchar(10) ...
随机推荐
- 爬虫模块介绍--selenium (浏览器自动化测试工具,模拟可以调用浏览器模拟人操作浏览器)
selenium主要的用途就是控制浏览器,模仿真人操作浏览器的行为 模块安装:pip3 install selenium 需要控制的浏览器 from selenium import webdriver ...
- 必做作业3:原型化设计:地铁扫码app
一.设计背景 伴随着地铁规模的快速扩张,使用手机扫码进出站成为了一种新型的地铁出行方式.在今天的北京和上海,地铁扫码已经极为普遍,广州和深圳也正在快速普及这种新方式.相信在不久的将来,其他拥有地铁或者 ...
- Java_04循环结构
1.while 循环结构 格式: while(循环条件){ } 关键字 while 后的小括号中的内容是循环条件.循环条件是一个表达式,值为布尔类型. { }大括号中的语句统称为循环操作,又称为循环体 ...
- Ubuntu 16.04 强制使用ipv4安装apt-get
参考文献:https://www.linuxidc.com/Linux/2015-09/123340.htm 起因:每次校园网都要自动用ipv6不知道为什么又总之链接不上,导致安装失败,有以下命令强行 ...
- Ansys热应力计算
目录 问题说明 温度场分析APDL 结果 问题说明 样块上下两端固定,在室温20℃下进行夹紧,分析其升温到150℃时的热应力. 采用间接法进行分析,温度场单元选择278,应力场单元为185 首先进行稳 ...
- test png
$x^2 \int $ When $a \ne 0$, there are two solutions to (ax^2 + bx + c = 0) and they are $$x = {-b \p ...
- zabbix监测图形界面显示方框乱码解决方法
思路如下:用Windows下中文字体进行替换,修改配置文件即可 详细步骤如下: 1.在Windows的控制面板里的字体中,选择一种中文字体,将该字体文件复制到桌面.例如,我选择了宋体 常规字体,复制到 ...
- python 集成cython 简单测试
实际开发中我们可能需要集成c/c++ 编写的模块,我们可以通过cython 解决类似的问题 以下测试一个简单的c add 方法, 使用venv 同时构建为一个pip 包 环境准备 venv 初始化 ...
- Redis 5.0.3集群部署
参考文章 https://blog.csdn.net/yyTomson/article/details/85783753 https://www.cnblogs.com/zy-303/p/102731 ...
- Python脚本之Lrc歌词去时间轴转Txt文件,附带酷狗音乐APP关联已有krc歌词
一.Lrc歌词去时间轴转Txt文件 环境:Python2.7.x, Mac(Windows需装cygwin环境,当然你也可以自己改代码,Python新手,勿喷) # -*- coding: UTF-8 ...