当前位置: 首页 > news >正文

sql数据定义语句(cascade,set,null,no action的区别)

(一)ADD

基本格式:

ALTER TABLE <表名>
ADD 新属性名 新属性类型

例:alter table s1 add tele char(12):增加一个电话号码(tele)属性

注:

新增的属性不能定义为not null

不论基本表原来是否已有数据,新增加的列一律为空

补充:外键的添加和删除

department为主表,employee为从表,employee的dep_id是外键,对应department的id为主键

添加:

alter table employee add constraint emp_depid_fk
foreign key (dep_id) references department(id);

emp_depid_fk:是外键约束名

删除:

alter table employee drop foreign key emp_depid_fk;

(二)ALTER COLUMN

基本格式

ALTER TABLE <表名>
ALTER COLUMN 属性名 新属性类型

例:ALTER TABLE student alter Sage INT;

将年龄的数据改为整数
 

(三)DROP删除原有属性

格式

ALTER TABLE 基本表名 DROP 属性名[CASCADE|RESTRICT];

 例:

ALTER TABLE Student DROP S_entrance RESTRICT;

在表Student中删除S_entrance属性(没有视图或约束引用S_entrance时才能删除)

ALTER TABLE Student DROP COLUMN Sage CASCADE

在表Student中删除Sage属性,并且将引用该属性的所有视图和约束也一起删除

注:

ALTER TABLE Student DROP COLUMN S_entrance RESTRICT;

sql server不支持删除列时的restrict选项

ALTER TABLE Student DROP COLUMN S_entrance;

不加restrict可以

(cascade同理)

cascade,set,null,no action的区别:

1.首先明确一个概念,假如表A(id,name,foreign_id),表B(foreign_id,name),我们说表A参考了表B的主键作为其外键使用,所以B表示父表,A表是子表
2.删除和更新有四种设置方式
(1)cascade:级联,当父表更新、删除,子表会同步更新和删除
(2)set null:置空,当父表更新、删除的时候,字表会把外键字段变为null,所以这个时候设计表的时候该字段要允许为null,否则会出错
(3)restrict:父表在删除和更新记录的时候,要在子表中检查是否有有关该父表要更新和删除的记录,如果有,则不允许删除个更改
(4)no action:和restrict一样

如果想该语句结构,但是不想破坏旧表,例如:原表为student

select * Into student1 from student

这样新表student1的数据和旧表相同了
————————————————
原文链接:https://blog.csdn.net/zzy296753977/article/details/80848613

(四)DROP删除基本表

格式:

DROP TABLE <表名> [RESTRICT|CASCADE];

CASCADE(级联):有视图依赖于表也能删除

●删除该表没有限制

●再删除基本表的同时,相关的依赖对象一起删除

RESTRICT(限制):有视图依赖于表,则不能删除

●删除表是有限制的

●欲删除基本表不能被其他表的约束所引用

●如果存在依赖该表的对象,则此表不能被删除

例:创建一个视图

create view student1_dept10
as
select sno,sname,sex
from student1
where deptno=10;

在标准SQL中 

视图student1_dept10依赖于student1,要删除student1,只能用cascade,不能用restrict

DROP TABLE student1 CASCADE;

发现删除成功

但是在SQL SERVER中

DROP TABLE student1 RESTRICT;DROP TABLE student1 CASCADE;

两个都是删除失败的

只有

DROP TABLE student1;

才能成功删除,删除表后表上所依赖的视图也失效了

总结:

SQL SERVER的DROP TABLE,ALTER TABLE...DROP COLUMN不支持restrict和cascade。

(五)INDEX定义索引 

格式:

create [UNIQUE][CLUSTER]INDEX<索引名>
ON<表名>
(
<列名>[<次序>]
[,<列名>[<次序>]]....
);<表名>:要建立索引的基本表
<次序>:指定索引值的排列次序(DESC,ASC)
UNIQUE:此索引的每一个索引值只对应唯一的数据记录
CLUSTER:表示建立的索引是聚簇索引

例:

create index jno_index on j(jo);
允许重复
create unique index jno_index on j(jo);
不允许重复

注:

ALTER INDEX <旧索引名> RENAME TO <新索引名>;
修改索引
DROP INDEX <索引名>
删除索引

删除索引时,系统会从数据字典中删去有关该索引的描述

数据字典:是关系数据库管理系统内部的一组系统表,记录了数据库所有定义信息。

相关文章:

sql数据定义语句(cascade,set,null,no action的区别)

&#xff08;一&#xff09;ADD 基本格式&#xff1a; ALTER TABLE <表名> ADD 新属性名 新属性类型 例&#xff1a;alter table s1 add tele char&#xff08;12&#xff09;&#xff1a;增加一个电话号码&#xff08;tele&#xff09;属性 注&#xff1a; 新增的属…...

Java进程(基础)

基本概念 1、进程&#xff1a;程序的执行过程 2、线程&#xff1a;一个进程可以有单个线程也就是我们说的单线程&#xff0c;还可以有多个线程也就是我们说的多线程&#xff0c; 线程 1、当一个类继承了Thread类就可以当成一个线程用 2、我们会重写run方法写上我们自己的业务…...

Android之 Activity活动详解

一 四大组件 1.1 Activity组件&#xff0c;它一个单独的窗口&#xff0c;程序流程都必须在Activity中运行。 1.2 service组件&#xff0c;用于在后台完成用户指定的操作。 1.3 content provider组件&#xff0c;会为所有的应用准备一个内容窗口&#xff0c;并且保留数据库、…...

车载软件架构——闲聊几句AUTOSAR BSW(五)

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 我们并不必要为了和谐,而时刻保持通情达理;我们需要具备的是,偶尔有肚量欣然承认在某些方面我们可能会有些不可理喻。该有主见的时候能掷地有声地镇得住场…...

APP图标尺寸规范一文了解清楚

在进行图标设计前&#xff0c;熟知手机 app 图标尺寸规范&#xff0c;能更好地去针对不同平台设计出更极致的图标。当前智能手机系统主要以 iOS 及 Android 为主&#xff0c;APP 图标是产品给用户的第一印象&#xff0c;图标视觉设计的美感与吸引力&#xff0c;与用户是否选择下…...

写给程序员Android Framework 开发,

前言 在 Android 开发者技能中&#xff0c;如果想进大厂&#xff0c;一般拥有较好的学历可能有优势一些。但是如果你靠硬实力也是有机会的&#xff0c;例如死磕Framework。Framework 知识广泛应用在Android各个领域中&#xff0c;重要性显而易见。 成为一名Android Framework…...

html实现一个一闪一闪的按钮,CSS实现一个一闪一闪的按钮,Css闪烁点标,css设置按钮层次感,css按钮美化,CSS按钮动画过渡,CSS按钮添加阴影

效果 动态 静态 实现 底部多加了几个过渡按钮 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><style>#app {margin: 2% auto;text-align: center;}.lay-btn-box {position: relative;display: …...

品优购项目学习记录04--列表页

文章目录 1.品优购项目列表页制作准备工作2.列表页header和nav修改2.1 秒杀logo的制作2.2 导航栏nav修改 3.列表页主体sk_container 1.品优购项目列表页制作准备工作 1.列表页面是新的页面&#xff0c;我们需要新建页面文件list.html 2.因为列表页的头部和底部基本一致&#x…...

script标签type值application/json,importmap和module

type&#xff08;默认text/javascript&#xff09; 该属性定义 script 元素包含或src引用的脚本语言。属性的值为 MIME 类型&#xff08;媒体类型&#xff09;&#xff1b; 如果没有定义这个属性&#xff0c;脚本会被视作 JavaScript。 如果 MIME 类型不是 JavaScript 类型&a…...

基于ArcGIS实现陕西省1:250000比例尺地形图分幅和编号

1地形图的分幅与编号原理 我国1:1000000地形图的分幅采用国际1:1000000地图分幅标准&#xff0c;而其他比例尺地形图分幅以1:1000000比例尺地形图为基准进行分幅。每幅1:1000000地形图范围是经差6、纬差4&#xff1b;纬度60~ 76之间经差12、纬差4&#xff1b;纬度76~ 88之间经…...

校园安全,一键报警主机助力保障

校园安全&#xff0c;一键报警主机助力保障 随着社会发展和科技进步&#xff0c;校园安全问题日益受到重视。如何保障师生们的安全成为了学校一项重要任务。而校园可视一键报警主机就是一种非常有效的安保设备。 这种报警主机集合了视频监控、安全防范、数据处理等多个功能&a…...

RabbitMQ养成记 (7. 消息可靠性投递)

消息可靠性 什么是消息的可靠性呢&#xff1f;&#xff1f; 简单来说就是 你的消息发放给 exchange 这个过程中 有可能丢失或者失败 这时候需要一个回调机制来监控 发送结果 必要时还要返回信息。 rabbitmq 给我们提供了两种&#xff1a; 首先是生产者到exchange发送过程的监…...

SpringBoot配置连接两个或多个数据库

在Spring Boot应用中连接多个数据库或数据源可以使用多种方式&#xff0c;下面介绍两种常用的方法&#xff1a; 1、使用Spring Boot官方支持的多数据源配置 Spring Boot提供了官方支持的多数据源配置&#xff0c;可以简单地配置和管理多个数据源。 需要在application.proper…...

Python面试题汇总:高效备战技巧

Python面试题汇总&#xff1a;高效备战技巧 一、基础知识准备1 语言特点及优缺点2 数据类型3 运算符4 控制流程语句5 函数 二、面向对象编程1 面向对象编程基础2 类的创建及继承3 魔术方法4 多态5 设计模式 三、常用数据结构与算法1 字符串、列表、字典、集合字符串列表字典集合…...

如何区分比特率、波特率和频谱带宽?

01、什么是比特率和波特率&#xff1f; 宽带网络里面提及的千兆即1000Mbit/s&#xff0c;一般描述的是我们家网络端口每秒最大可接收0、1比特&#xff08;bit&#xff09;的数量&#xff0c;即每秒可接收1000x106个比特。显而易见&#xff0c;比特率越高&#xff0c;每秒传送的…...

sklearn中的特征工程(过滤法、嵌入法和包装法)

目录 ​编辑特征工程的第一步&#xff1a;理解业务 Filter过滤法 ​编辑方差过滤 ​编辑- 相关性过滤 - 卡方过滤 - F检验 - 互信息法 ​编辑嵌入法&#xff08;Embedded&#xff09; 包装法&#xff08;Wrapper&#xff09; 特征工程的第一步&#xff1a;理解业务 如…...

Linux C/C++并发编程实战(0)谈谈并发与并行

作为并发编程的第一讲&#xff0c;比较轻松&#xff0c;我们先来谈谈什么是并发和并行。 并发&#xff08;Concurrency&#xff09;是指一个处理器同时处理多个任务。 并行&#xff08;Parallelism&#xff09;是指多个处理器或者是多核的处理器同时处理多个不同的任务。 并发…...

2023年5月天津/南京/成都/深圳CDGA/CDGP数据治理认证报名

6月18日DAMA-CDGA/CDGP数据治理认证考试开放报名中&#xff01; 考试开放地区&#xff1a;北京、上海、广州、深圳、长沙、呼和浩特、杭州、南京、济南、成都、西安。其他地区凑人数中… DAMA-CDGA/CDGP数据治理认证班进行中&#xff0c;报名从速&#xff01; DAMA认证为数据管…...

【MySQL】MySQL批量插入测试数据的几种方式

文章目录 前言一、表二、使用函数生成设置允许创建函数产生随机字符串产生随机数字 三、创建存储过程插入角色表插入用户表 四、执行存储过程小结五、使用 Navicat自带的数据生成 前言 在开发过程中我们不管是用来测试性能还是在生产环境中页面展示好看一点, 又或者学习验证某…...

PowerShell install 一键部署virtualbox

VirtualBox 前言 VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发&#xff0c;由Sun Microsystems公司出品的软件&#xff0c;使用Qt编写&#xff0c;在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public Licens…...

人脸分析系统功能详解:Face Analysis WebUI使用技巧

人脸分析系统功能详解&#xff1a;Face Analysis WebUI使用技巧 1. 系统概述与核心价值 Face Analysis WebUI 是一款基于 InsightFace 模型的人脸分析工具&#xff0c;它将复杂的人脸识别技术封装成简单易用的网页界面。无需编写代码&#xff0c;用户只需上传图片&#xff0c…...

告别统计软件困境:虎贲等考 AI,让数据分析从 “硬核难题” 变 “轻松通关”

在学术研究与论文写作中&#xff0c;数据分析一直是横在学生与研究者面前的 “高门槛”。无论是本科毕业论文的基础统计&#xff0c;还是硕博期刊论文的实证检验&#xff0c;从数据清洗、模型构建到结果输出、图表制作&#xff0c;每一步都考验着专业能力。传统工具如 SPSS、St…...

从SDR#到MATLAB:用RTL-SDR玩转无线信号分析,一份完整的软硬件环境搭建清单

从零构建无线信号分析实验室&#xff1a;RTL-SDR与MATLAB的深度整合指南 无线电波如同城市中看不见的暗流&#xff0c;承载着从广播到卫星通信的各种信息。RTL-SDR这款售价仅20美元左右的USB接收器&#xff0c;配合MATLAB强大的信号处理能力&#xff0c;可以成为探索这片无形领…...

从接线到选型:深入解析两线制、三线制与四线制仪表的工程实践

1. 工业仪表的线制基础&#xff1a;从概念到应用场景 第一次接触工业仪表接线时&#xff0c;我被各种颜色的线缆绕得头晕眼花。记得有次在化工厂实习&#xff0c;老师傅指着压力变送器问我&#xff1a;"知道这两根红线为啥要绞在一起吗&#xff1f;"当时支支吾吾答不…...

用Matlab App Designer给杨氏双缝干涉实验做个交互式GUI(附完整源码)

用Matlab App Designer打造杨氏双缝干涉实验交互式GUI 在光学实验教学中&#xff0c;杨氏双缝干涉是理解波动光学基础的重要实验。传统实验室操作需要精密调节光路、严格控制环境条件&#xff0c;而Matlab仿真可以突破这些限制。本文将带你从零开始&#xff0c;使用App Designe…...

全球太阳辐射与风力数据资源全解析:从免费到付费的五大平台对比

1. 科学数据中心&#xff1a;免费但有限的基础选择 科学数据中心&#xff08;https://www.casdc.cn/&#xff09;是国内较为知名的科研数据共享平台&#xff0c;主要面向学术研究领域提供气象、环境等数据服务。实测下来&#xff0c;它的太阳辐射数据以CSV和NetCDF格式为主&…...

网络工程革新:大数据技术对网络工程的深度影响与变革(超详细解析)

网络工程革新&#xff1a;大数据技术对网络工程的深度影响与变革&#xff08;超详细解析&#xff09;前言一、大数据技术&#xff1a;核心概念1.1 定义1.2 网络工程中的大数据来源二、大数据技术&#xff1a;对网络工程的五大核心影响2.1 网络监控&#xff1a;从“单点看状态”…...

鲁班猫MIPI屏幕配置与触摸校准全攻略:从1080P切换到横屏显示的完整流程

1. 鲁班猫开发板与MIPI屏幕初体验 第一次拿到鲁班猫开发板时&#xff0c;我像大多数嵌入式开发者一样兴奋。这块基于RK3566芯片的小板子虽然体积不大&#xff0c;但性能足够强大&#xff0c;特别适合用来做各种嵌入式项目。不过当我准备连接MIPI屏幕时&#xff0c;发现默认配置…...

MCP Server与Client的实战配置指南:从零搭建到功能测试

1. MCP技术入门&#xff1a;从协议理解到生态优势 第一次接触MCP这个概念时&#xff0c;我也是一头雾水。直到真正用起来才发现&#xff0c;这简直就是开发者与AI模型之间的"万能翻译器"。Model Context Protocol&#xff08;模型上下文协议&#xff09;的核心价值在…...

BP神经网络交叉验证算法与确定最佳隐含层节点数Matlab程序(直接运行、数据Excel格式、...

bp神经网络交叉验证算法和确定最佳隐含层节点个数matlab 程序&#xff0c;直接运行即可。 数据excel格式&#xff0c;注释清楚&#xff0c;效果清晰&#xff0c;一步上手。BP 神经网络交叉验证与隐含层节点自寻优工具包功能说明书一、产品定位本工具包面向“零算法背景”的实验…...