主键约束(两个特性)
1:主键必须写
2:主键不可重复

 create table stu01(
sid varchar(100),
sname varchar2(100)
--constraint PK_stu01_sid primary key (sid)
) --添加约束(主键)
alter table stu01 add constraint PK_stu01_sid primary key(sid) ---添加主键约束
alter table stu01 drop constraint PK_stu01_sid ---删除主键约束

唯一约束(UNIQUE)
唯一,但是可以为空

 create table stu02(
sid varchar2(100),
sname varchar2(100),
constraint PK_stu02_sid primary key(sid),
constraint UK_stu02_sname unique(sname)
)

非空约束(not null)
一般简写

   create table stu03(
sid varchar2(100),
sname varchar2(100) not null,
constraint PK_stu03_sid primary key(sid),
constraint UK_stu03_sname unique(sname)
)

外键约束
先添加学生表、和课程表

  create table stu04(
sid varchar2(100),
sname varchar2(100) not null,
constraint PK_stu04_sid primary key(sid),
constraint UK_stu04_sname unique(sname)
) --创建课程表
create table course01(
cid varchar2(100),
cname varchar2(100) not null,
constraint PK_course01_cid primary key(cid),
constraint UK_course01_cname unique(cname)
) --最后添加成绩表,外键约束课程表和学生表
create table mark02(
sid varchar2(100),
cid varchar2(100),
mark number,
constraint PK_mark02_sidAndcid primary key(sid,cid),
constraint FK_mark02_sid foreign key(sid) references stu04(sid),
constraint FK_mark02_cid foreign key(cid) references course01(cid),
constraint UK_mark02_mark unique(mark)
) --删除外键约束
alter table mark01 drop constraint FK_mark02_sid
alter table mark01 drop constraint FK_mark02_cid

Oracle数据库添加约束的更多相关文章

  1. 改写了禁用或启用oracle数据库的约束的存储过程

    改写了网上某位大侠(最开始的源头是哪位没记住)写的禁用或启用oracle数据库所有约束的存储过程,增加了异常控制,以使发生异常时也可以执行下去. –调用过程: 执行前先 set serveroutpu ...

  2. C# 代码往oracle数据库添加datetime格式列

    C# 代码往oracle数据库添加datetime格式列时,不需要在insert语句中为datetime类型使用to_date函数

  3. Oracle数据库添加删除主外键

    (一)添加主键 1.表创建的同时,添加主键约束 语法: create table "表名" ( "列名1" 数据类型及长度 constraint "主 ...

  4. oracle数据库添加新用户

    /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace kmyf_temp tempfile 'E:\app\pangxy\product\11. ...

  5. oracle 数据库添加Java方法

    create or replace and compile java source named "Bitconverter" aspublic class Bitconverter ...

  6. oracle数据库 唯一约束的创建与删除

    1.创建索引: alter table TVEHICLE add constraint CHECK_ONLY unique (CNUMBERPLATE, CVIN, CPLATETYPE, DWQCH ...

  7. AppFuse3.5对接oracle数据库

    AppFuse是一个使用Java语言开发web应用系统的集成框架.java开发人员最头痛的事情就是面对大量的框架不知该如何选择.这些框架性能如何,兼容性如何等等都需要筛选比较.Appfuse作者Mat ...

  8. jmeter实现对Oracle数据库的操作

    实现目的 有时候,根据业务需要,可能需要直接对数据库进行性能测试,此时可利用jmeter对Oracle.MySQL等数据库进行相关测试. 脚本实现 添加JDBC Connection Configur ...

  9. Oracle 数据库表中已有重复数据添加唯一键(唯一约束)

    Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID C ...

随机推荐

  1. JavaScript重定向

    使用JavaScript重定向到其他网页的一些方法: location.href location.replace() location.assign() 语法: window.location.hr ...

  2. 并发编程——IO模型详解

    ​ 我是一个Python技术小白,对于我而言,多任务处理一般就借助于多进程以及多线程的方式,在多任务处理中如果涉及到IO操作,则会接触到同步.异步.阻塞.非阻塞等相关概念,当然也是并发编程的基础. ​ ...

  3. C#LeetCode刷题-字典树

    字典树篇 # 题名 刷题 通过率 难度 208 实现 Trie (前缀树)   48.6% 中等 211 添加与搜索单词 - 数据结构设计   39.9% 中等 212 单词搜索 II   27.9% ...

  4. Android 开发学习进程0.11 pageview relativelayout 沉浸式标题栏

    fragment与pageView fragment fragment不可以侧滑切换相关界面,但多数代码位于fragment中,易于维护,同时不会受到多个手势滑动的影响 pageView pageVi ...

  5. Typescript node starter 3. App Router Controller

    Request request对象表示HTTP请求,并具有请求query字符串.参数.body.HTTP headers等的属性.除了添加新的属性和方法外,还包含原型的属性和方法. 随着系列文章的发布 ...

  6. leetcode刷题记录——链表

    使用java实现链表 单向链表 双向链表 单向循环链表 双向循环链表 题目记录 160.相交链表 例如以下示例中 A 和 B 两个链表相交于 c1: A: a1 → a2 c1 → c2 → c3 B ...

  7. Jmeter 常用函数(7)- 详解 __time

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 返回各种格式的当前时间 语法格式 ${ ...

  8. 软工团队项目之团队展示&选题(OnTime——S.L.N)

    软工团队项目之团队展示&选题(OnTime——S.L.N) 一.团队展示 队名:『S.L.N』即Seigelion——乃“攻城狮”之意. 队员学号: 团队项目描述:(项目名称:OnTime) ...

  9. 兄弟,别再爬妹子图了整点JS逆向吧--陆金所密码加密破解

    好久没有写爬虫文章了,今晚上得空看了一下陆金所登录密码加密,这个网站js加密代码不难,适合练手,篇幅有限,完整js代码我放在了这里从今天开始种树,不废话,直接开整. 前戏热身 打开陆金所网站,点击到登 ...

  10. Git的详细使用

    关于Git的详细使用,下面博主的博客写的非常的详细! 可以参考一下. https://blog.csdn.net/qq_19835247/article/details/104620042 人生需要准 ...