主键约束(两个特性)
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. printf函数和putchar函数

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib. ...

  2. 安装黑苹果MoJave记录

    说实话安装黑苹果并不是一件很简单的事情,它既费时,而且还需要一定的计算机知识,最重要的是对于你来说可能黑苹果并没有Linux或者Windows好用. 好了废话不多说,开始吧. 1.硬件准备 并不是什么 ...

  3. MQC集群配置错误

    这个错误说明配置里面,MQC环境配置错了 运行war包时会读到本地的配置system-config.propertites文件

  4. 2020大厂web前端面试常见问题总结

    本篇收录了一些面试中经常会遇到的经典面试题以及自己面试过程中遇到的一些问题.通过对本篇知识的整理以及经验的总结,希望能帮到更多的前端面试者. 1.web前端项目的结构是怎样的?文件有哪些命名规范? 项 ...

  5. Android app启动出现白屏闪屏

    出现白屏闪屏原因: 进入到AppStartActivity,但是未加载到布局文件,就先显示了窗口的背景,白屏就是显示的windows的背景,即所设置的theme. onCreate()中的setCon ...

  6. python 09 数据包 异常处理

    pickle模块操作文件 pickle.dump(obj, file[, protocol]) 序列化对象,并将结果数据流写入到文件对象中.参数protocol是序列化模式,默认值为0,表示以文本的形 ...

  7. JavaSwing关于GridBagLayout(网格袋布局)的使用

    下面的链接有初步的介绍: https://blog.csdn.net/xietansheng/article/details/72814552 关于GridBagConstraints: GridBa ...

  8. 无锁机制----比较交换CAS Compare And Swap

    一.锁与共享变量 加锁是一种悲观的策略,它总是认为每次访问共享资源的时候,总会发生冲突,所以宁愿牺牲性能(时间)来保证数据安全. 无锁是一种乐观的策略,它假设线程访问共享资源不会发生冲突,所以不需要加 ...

  9. JavaScript学习系列博客_24_JavaScript 原型对象

    原型(prototype) - 创建一个函数(所有函数)以后,解析器都会默认在函数中添加一个属性prototype prototype属性指向的是一个对象,这个对象我们称为原型对象. 创建一个函数My ...

  10. Redis 持久化 rdb、Aof对比

    一.Redis 简介: Redis是一个开源的.基于内存的数据结构存储器,可以用作数据库.缓存和消息中间件. Redis是一个key-value存储系统.和Memcached类似,它支持存储的valu ...