返回顶部
首页 > 资讯 > 数据库 >Oracle入门学习五
  • 627
分享到

Oracle入门学习五

Oracle入门学习五 2022-04-01 11:04:41 627人浏览 猪猪侠
摘要

学习视频: https://www.bilibili.com/video/BV1tJ411r7EC?p=35 数据的完整性:保证插入表格的数据必须正确。包括实体完整性、区域完整性、引用完整性、自定义完整性。 约束:约束的作用是为了

Oracle入门学习五

学习视频: https://www.bilibili.com/video/BV1tJ411r7EC?p=35

数据的完整性:保证插入表格的数据必须正确。包括实体完整性、区域完整性、引用完整性、自定义完整性。

约束:约束的作用是为了保证数据的完整性,类型包括主键约束(PK)、唯一约束()、检查约束、外键约束。主键和唯一约束的区别是主键不能为空。命名规则:约束类型_约束名。

列级约束:针对某一列设置的约束。表级约束和列级约束区别相关了解:Https://blog.csdn.net/hanxuemin12345/article/details/7828206

--设置主键的简洁写法
create table user1(
id number(5) primary key,
name varchar2(20)
)

--设置主键的完整写法
create table user1(
id number(5) constraint pk_id primary key,
name varchar2(20)
)

--添加主键约束、唯一约束、非空约束
create table user3(
id number(3) constraint pk_user3_id primary key,
name varchar2(20) constraint uq_user3_name unique,
age number(3) constraint nn_user3_age not null
)

insert into user3 values(1,"bibi",34);
insert into user3 values(2,"bibiiii",34);
insert into user3 values(3,"bibi",null);

检查约束:

alter table user3 add salary number(8,2);
alter table user3 add constraint ck_user3_salary check (salary between 5000 and 20000);

表级约束:在定义表格的某些列之后,再为某些列添加约束。非空约束只能是列级约束。

create table user3(
id number(3) ,
name varchar2(20) ,
age number(3) not null,
constraint pk_user3_id primary key (id),
constraint uq_user3_name unique (name)
)

create table user3(
id number(3) ,
name varchar2(20) ,
age number(3) not null,
constraint uq_user3_name unique (id,name)
)
View Code

表定义之后,添加、移除约束:

alter table user3 add constraint pk_usesr3_id primary key (id);
alter table user3 drop constraint pk_user3_id;

外键约束:本表这列的值取决于另一个表的主键。删除主表关联数据是,必须先把从表的外键关联数据删除或者置空。删除主表之前必须先把从表删除掉或者主表切断所有关联的外键。

create table user8
(
id number(3) primary key,
name varchar2(20) not null
);

insert into user8 values(1,"bb");
insert into user8 values(2,"bbb");
insert into user8 values(3,"bbbb");

create table order8
(
 id number(10)  primary key,
 user_id number(3) constraint fk_order8_userid references user8(id), --外键,引用user8表的id
 info varchar2(500) 
);

insert into order8 values(1,1,null);
insert into order8 values(1,5,null);
create table user8
(
id number(3) primary key,
name varchar2(20) not null
);

insert into user8 values(1,"bb");
insert into user8 values(2,"bbb");
insert into user8 values(3,"bbbb");

create table order8
(
 id number(10)  primary key,
 user_id number(3) constraint fk_order8_userid references user8(id), --外键,引用user8表的id
 info varchar2(500) 
)

insert into order8 values(1,1,null);
insert into order8 values(2,2,null);
insert into order8 values(3,3,null);

--删除关联数据 方法一,不常用
delete from order8;
delete from user8;

--方法二 置空
update order8 set user_id=null;
delete from user8;

--删除关联表 不常用
drop table order8;
drop table user8;

--方法二 删除掉所有关联的外键
drop table user8 cascade constraint;
View Code

级联操作:当删除主表中被参考数据时,从表关联外键字段数据自动设为null,用法 on delete set null。当删除主表被参考数据时,从表外键关联数据行自动删除,用法 on delete cascade。

create table order8
(
 id number(10)  primary key,
 user_id number(3) references user8(id) on delete set null, 
 info varchar2(500) 
)

create table order8
(
 id number(10)  primary key,
 user_id number(3) references user8(id) on delete cascade, 
 info varchar2(500) 
)
View Code

联合主键:多个字段组成一个主键

create table user8
(
id number(3) ,
name varchar2(20),
constraint pk_user8_id_name primary key (id,name)
);

insert into user8 values(1,"b");
insert into user8 values(1,"a");
insert into user8 values(1,"b");

 

您可能感兴趣的文档:

--结束END--

本文标题: Oracle入门学习五

本文链接: https://lsjlt.com/news/5867.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle入门学习五
    学习视频: https://www.bilibili.com/video/BV1tJ411r7ECp=35 数据的完整性:保证插入表格的数据必须正确。包括实体完整性、区域完整性、引用完整性、自定义完整性。 约束:约束的作用是为了保...
    99+
    2022-04-01
    Oracle入门学习五
  • Oracle入门学习六
    事务:把一组操作看做一个工作单元,要么都执行,要么都不执行。dml操作才有事务,查询没有事务。 开始事务:从上一次的事务结束之后,从第一次dml操作,就自动开启了事务 提交事务:commit 回滚事务:rollback cr...
    99+
    2021-12-10
    Oracle入门学习六
  • Oracle入门学习一
    oracle的安装,用户授权,表格操作,数据类型,ddl表格,dml数据。 下一篇:Oracle入门学习二 学习视频:https://www.bilibili.com/video/BV1tJ411r7ECp=15 安装教程附带...
    99+
    2018-09-30
    Oracle入门学习一
  • Oracle入门学习二
    上一篇:Oracle入门学习一 学习视频:https://www.bilibili.com/video/BV1tJ411r7ECp=15 算术运算符:+ - * / 逻辑运算符:and or not 比较运算符:“=”、“”、“=...
    99+
    2014-07-13
    Oracle入门学习二
  • Oracle入门学习四
    上一篇:Oracle入门学习三 学习视频:https://www.bilibili.com/video/BV1tJ411r7ECp=35 Oracle表连接:内连接、外连接。外连接分左连接、右连接。 多表查询时,如果表之间没有条件...
    99+
    2017-05-24
    Oracle入门学习四
  • Oracle入门学习三
    上一篇:Oracle入门学习二 学习视频:https://www.bilibili.com/video/BV1tJ411r7ECp=26 字符串函数:length、upper、lower、initcap、 concat、instr...
    99+
    2021-08-20
    Oracle入门学习三
  • Oracle(PLSQL)入门学习七
    学习视频:https://www.bilibili.com/video/BV1tJ411r7ECp=74 设计数据库步骤: 良好的数据库设计:节省空间,数据完整,方便开发。 步骤:1、收集信息 2、标识实体 3、标识实体属性 4、...
    99+
    2017-10-20
    Oracle(PLSQL)入门学习七
  • Oracle学习(一) --- 入门安装
    1.2、特点: 1.2.1、完整的数据管理功能 1)数据的大量性 2)数据的保存的持久性 3)数据的共享性 4)数据的可靠性 1.2.2、完备关系的产品 1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示...
    99+
    2019-05-09
    Oracle学习(一) --- 入门安装
  • MySQL入门学习
    ...
    99+
    2015-02-25
    MySQL入门学习
  • Node.js学习入门
    开始之前,安利一本正在看的书《站在两个世界的边缘》,作者程浩,上帝丢给他太多理想,却忘了给他完成理想的时间。OK,有兴趣的可以看一看。 node.js如标题一样,我也是刚开始接触,大家一起学习,有不当的地方...
    99+
    2022-06-04
    入门 Node js
  • python入门学习
    首先在官网下载好python3.6及以上的版本,根据自己的系统选择:没有显示64位的就是32位的安装包,选择蓝线的能够直接打开 在控制台输入python,配置成功的图片如下: 从IDLE打开python输入指令 print("I lo...
    99+
    2023-01-31
    入门 python
  • Python机器学习入门(五)之Python算法审查
    目录1.审查分类算法1.1线性算法审查1.1.1逻辑回归1.1.2线性判别分析1.2非线性算法审查1.2.1K近邻算法1.2.2贝叶斯分类器1.2.3分类与回归树1.2.4支持向量机...
    99+
    2024-04-02
  • Oracle(PLSQL)入门学习八(完结篇)
    学习视频:https://www.bilibili.com/video/BV1tJ411r7ECp=75 游标cursor:用于存放多条数据的容器。需要开始open和关闭close。游标下移使用“fetch...into...”。...
    99+
    2022-04-06
    Oracle(PLSQL)入门学习八(完结篇)
  • 学习Oracle的历程 (五)
        今天,我们接着学习Oracle数据库,今天要学的是PL/SQL 中的单行函数 与 分析函数以及集合运算. 注意,今天的知识小喵个人觉得还是挺难的同事也挺重要的,要认真学习哦! 一 . 单行函数     首先我们来说一下单行函数...
    99+
    2021-01-27
    学习Oracle的历程 (五)
  • 网络安全入门学习第十五课——PHP基础
    文章目录 一、WEB技术1、什么是web2、B/S架构3、C/S架构 二、PHP概述1、PHP是什么2、PHP受欢迎的原因3、基于MVC模式的PHP框架4、常用编译工具5、PHP环境搭建6...
    99+
    2023-09-07
    学习 php
  • Python入门学习(六)
    在熟悉了Python中常用的一些内置函数, 那接下来我们定义一个自己的函数吧 def add(x, y): return x + y 函数 函数语法 def functonname(parameters): ... ...
    99+
    2023-01-31
    入门 Python
  • Django 入门学习(3)
    在例4的基础上,我希望直接保存数据到数据库中。 Django自带了一个sqlite的数据库,已经配置好了 可以直接使用。使用方式和sqlalchemy类似,相当于一个内置的ORM框架。settings.py 默认已经绑定了sqlite3DA...
    99+
    2023-01-31
    入门 Django
  • java入门学习之路
    java是面向对象的编程,个人觉得记忆比较重要。第一阶段java基础部分unix开发环境熟练掌握开发中常用的操作系统linux的安装及使用:掌握文件系统、网络、用户管理方法:能熟练使用vi和vim进行文件编...
    99+
    2024-04-02
  • PyTorch 深度学习入门
    💂 个人网站:【 海拥】【萌怪大冒险】【2048】🤟 风趣幽默的前端学习课程:👉28个案例趣学前端💅 想寻找共同学习交流、摸鱼划水的...
    99+
    2023-09-25
    pytorch 深度学习 python
  • menuconfig与Kconfig入门学习
    概述 menuconfig是Linux平台用于管理代码工程、模块及功能的实用工具。 menuconfig的使用方式通常是在编译系统之前在系统源代码根目录下执行make menuconfig命令从而打开...
    99+
    2023-09-13
    学习 linux 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作