修改约束

目录

修改约束

创建数据库

添加约束

删除约束


Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645

修改约束

如果说表结构的修改还在可以容忍的范畴之内,那么约束的修改是绝对 100% 禁止的

所有的约束一定要在表创建的时候就设置完整

实际上约束可以进行后期的添加以及后期的删除操作。如果要想进行这样的维护,那么必须要保证有约束名称

创建数据库

-- 删除数据表
drop table member purge ;
-- 创建数据表
CREATE TABLE member(mid    NUMBER,name    VARCHAR2(20) 
) ;
INSERT INTO member(mid,name) VALUES (1,'张三') ;
INSERT INTO member(mid,name) VALUES (1,'李四') ;
INSERT INTO member(mid,name) VALUES (2,null) ;

添加约束

alter table 表名称 add CONSTRAINT 约束名称 约束类型 ( 字段 ) 选项 ...

下面就为 member 表增加主键约束

ALTER TABLE member ADD CONSTRAINT pk_mid PRIMARY KEY(mid) ;

因为此时表中已经存在有相同的 ID 编号了,所以这个时候约束是不可能创建成功的

如果想创建成功这个约束,就必须把数据表中对应列中重复的数据删除

delete from member where mid=1

运行完这条删除语句后,再运行原先的修改约束语句,就可以成功修改

利用以上的语法可以实现 4 种约束的增加:主键、唯一、检查、外键,但是不包含非空

如果要想为字段增加非空约束,只能依靠修改表结构的方式完成

ALTER TABLE member MODIFY (name VARCHAR2(20) NOT NULL) ;

但是需要保证此时 name 列上没有 null 值。例如,如果要修改的表中有 null 列的时候,会出现如下情况

删除约束

alter table 表名称 drop CONSTRAINT 约束名称 ;

下面代码删除主键约束

ALTER TABLE member DROP CONSTRAINT pk_mid ;

综合来说,不要去修改表结构,约束一定要和数据表一起创建

对约束的定义既可以在 CREATE TABLE 语句中进行,也可以在 ALTER TABLE 语句中进行

在实际应用中,通常是先定义表的字段,然后再根据需要通过 ALTER TABLE 语句为表添加约束

当然,最好是在数据库创建之前,对每个数据表中字段规划好是否需要约束,在创建表的时候同时创建约束

一个数据表只能有一个主键约束,如果一个表已经存在主键约束,此时如果再添加主键约束,系统会提示错误信息

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Flutter 面试题】讲一讲 Dart 的一些重要概念?

【Flutter 面试题】讲一讲 Dart 的一些重要概念? 文章目录 写在前面口述回答补充说明完整代码运行结果详细说明 写在前面 🙋 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主&#…

UE5 TPS开发p25 设置大厅,销毁会话,快速退出,检查按钮

这节课主要是完善了菜单选择地图作为游戏大厅,MultiPlayerSessionSubsystem的销毁会话函数,然后就是给Menu菜单添加了Quit和禁止使用按钮 同时还完善了创建房间的漏洞,因为在创建房间的时候如果退出后就马上加入就会发现自己无法创建房间,这是因为服务器判断房间销毁是有一定延…

shell的介绍以及Linux权限的讲解

1 shell命令以及运行原理 1.1 shell命令行的概念 大家在以前的学习中可能会有一个固态的印象: 一台计算机的大概分层为下图 也就是说人可以直接调用计算机的操作系统,但真的是这样吗? 答案是否定的! 其实操作系统还有一个“外壳…

31.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-其它消息的实现与使用优化

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 内容参考于:易道云信息技术研究院VIP课 上一个内容:30.数据搜索功能…

如果QQ当年有AI,当年的经典头像会是什么样子?-WEBUI有趣案例分享

👔背景介绍 IP_Adapter是个很有趣的模型,可以实现一定程度上的角色一致性,忽然有个想法,用IP_Adapter还原一下QQ当年的经典头像会是什么样子呢? 不过,大家还记得这些古早时期的头像吗?或者&…

优雅的 Markdown

Markdown浅尝 一、勾选框 注意[]前后都要有空格 - [x] 干的漂亮 - [x] 吃饭 - [x] 写代码 - [ ] 睡觉 干的漂亮 吃饭 写代码 睡觉 二、列表 #无序列列表 * 换成 - 也行 * 你 * 你好 * 你好呀 - 你很好啊 你你好你好呀你很好啊 #有序列表 . 后面有个空格 1. 我 2. 是我 3.…

Day73:WEB攻防-支付逻辑篇篡改属性值并发签约越权盗用算法溢出替换对冲

目录 SRC-支付逻辑测试 购买支付-修改数量&篡改价格&订单对冲 修改数量 篡改价格 产品替换对冲 订单替换对冲 购买支付-优惠券复用盗用&积分对冲溢出 优惠卷复用 优惠卷盗用 积分对冲溢出 SRC实战案例分享 越权让他人支付 四舍五入半价购 并发提前全…

python字典:打印字典中的键、值、打印所有字典、python遍历字典

1.定义 字典以花括号({})括起来,里面的元素是成对出现的,不同对元素用逗号(,)分开;一对元素用 冒号(:)分割。 2.解读 字典里的每一对元素准确的来说是键值对&…

javaSwing连连看

一、简介 基于java的连连看游戏设计和实现,基本功能包括:消除模块,重新开始模块,刷新模块,选择难度模块,计时模块。本系统结构如下: (1)消除模块: 完成连连…

python socket 实时通信,多对多,一对一,转发

研究一下python socket 实时通信,多对多,一对一,转发 C>S 单独通信 server1 import socket import threading# 在线客户端列表 online_clients {}def broadcast(message, sender):"""向所有在线客户端广播消息,除了发送…

面试算法-58-求根节点到叶节点数字之和

题目 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数字之和…

2024年腾讯云优惠券全解析、云服务器代金券领取、查询和使用方法

腾讯云代金券领取渠道有哪些?腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券,大家也可以在腾讯云百科蹲守代金券,因为腾讯云代金券领取渠道比较分散,腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

Dockerfile Docker Compose(实战总结)

Dockerfile & Docker Compose(实战总结) Dockerfile Dockerfile 是用来构建Docker镜像文件,是由一条条构建镜像所需的指令构成的脚步。 步骤: 编写Dockerfile 文件docker build 构建镜像docker run 运行镜像docker push 发…

python coding with ChatGPT 打卡第23天| 回溯算法:理论基础

文章目录 视频讲解回溯法的效率解决的问题如何理解回溯法回溯框架 视频讲解 回溯算法理论篇 回溯是递归的副产品,只要有递归就会有回溯。 回溯法的效率 回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法…

区域规划(Regional Planning)的学习笔记

目录 一、概念题 1.区域的概念、类型、特性 2.区域分析的概念、主要内容 3.自然环境、自然资源的概念 4.区域自然资源评价的内容 5.可持续发展理论定义 6.经济增长、经济结构定义 7.产业结构概念 8.人口增长分析的含义、指标 9.技术进步概念、类型 10.技术进步对区域…

【C++ leetcode】双指针问题(续)

3. 202 .快乐数 题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结…

ArcGIS Pro、R和INVEST:三位一体的生态系统服务评估框架

生态系统服务是指生态系统所形成的用于维持人类赖以生存和发展的自然环境条件与效用,是人类直接或间接从生态系统中得到的各种惠益。联合国千年生态系统评估(Millennium ecosystem assessment,MA)提出生态系统服务包括供给、调节、…

智慧水务:雨季山区水域水务智能化监控与监测管理方案

一、方案背景 雨季的水务管理对于各区县来说,无疑是一项至关重要的任务。夏季雨水充沛,江河湖泊水位上涨,山洪、上游排水等情况时有发生,给各地的水务设施和防汛工作带来了严峻的挑战。针对区县的各类水域监管场景,需…

免费的chatgpt网站(包含最新版4.0)

相信每个人在生活工作学习中都逃不过用chatgpt来解决一些问题,下面我长话短说,为大家简单介绍几款免费且好用的chatgpt网站 1、YesChat 网址:YesChat-ChatGPT4V Dalle3 Claude 3 All in One Free 第一个就给大家介绍一个狠角色,最…

C 语言中位取反操作符 ~ 和逻辑取反操作符 !

在 C 语言中,有两种取反操作符,分别是位取反操作符 ~ 和逻辑取反操作符 !。 位取反操作符 ~: 位取反操作符 ~ 是一个一元操作符,用于执行按位取反操作。它会将操作数的每个位取反,即将 0 变为 1,将 1 变为 …