数据库学习笔记——DDL
数据库学习笔记——DDL
建立EMPLOYEE数据库:
CREATE TABLE employee(employee_ID int not null,employee_name varchar(20) not null,street varchar(20) not null,city varchar(20) not null,PRIMARY KEY(employee_ID)
);CREATE TABLE company(company_name varchar(30) not null,city varchar(20) not null,PRIMARY KEY(company_name)
);create table manages(employee_ID int not null,manager_ID int,primary key(employee_ID),foreign key(employee_ID) references employee(employee_ID) on delete cascade,foreign key(manager_ID) references employee(employee_ID) on delete set null
);create table works(employee_ID int not null,company_name varchar(30),salary numeric(8,2) check (salary>3000), primary key(employee_ID),foreign key(employee_ID) references employee(employee_ID) on delete cascade,foreign key(company_name) references company(company_name) on delete set null
);
向基本表employee 中增加“性别”属性列,其属性名为sex,数据类型为字符型:
ALTER TABLE employee add sex char(1) comment '性别';
向基本表employee中增加“年龄”属性列,其属性名为age,数据类型为SMALLINT, 并且年龄在15至30之间:
ALTER TABLE employee add age SMALLINT comment '年龄';
ALTER TABLE employee add CONSTRAINT check1 check (age>=15 and age<=30);
将employee中的age年龄的数据类型改为INT型:
ALTER TABLE employee MODIFY age int;
将employee中的age字段改名为emp_age:
ALTER TABLE employee drop check check1;
ALTER TABLE employee change age emp age int;
ALTER TABLE employee add CONSTRAINT check1 check (emp_age>=15 and emp_age<=30);
将employee中的sex列允许为空值的属性更改为不允许为空值:
ALTER TABLE employee change sex sex char(1) not null;
向company表中增加id字段,并添加自增约束:
create table works(employee_ID int not null,company_name varchar(30),salary numeric(8,2) check (salary>3000), primary key(employee_ID),foreign key(employee_ID) references employee(employee_ID) on delete cascade,CONSTRAINT works_fk foreign key(company_name) references company(company_name) on delete set null
);# 删除works的外键约束
ALTER TABLE works drop foreign key works_fk;
# 删除company原始主键
ALTER TABLE company drop PRIMARY KEY;
# 主键才能添加自增约束
ALTER TABLE company add company_ID int PRIMARY KEY auto_increment;
# 恢复从表的外键约束
ALTER TABLE works add company_ID int;
ALTER TABLE works add CONSTRAINT works_fk1 FOREIGN KEY (company_ID) references company (company_ID) on delete set null;desc company;
desc works;
# 显示works建表语句
show create TABLE works;
删除employee表中的sex列:
ALTER TABLE employee drop sex;
删除employee表:
drop TABLE works;
drop TABLE manages;
drop TABLE employee;
manages表中的manager_ID字段上无法添加not null约束:
create table manages(employee_ID int not null,manager_ID int,primary key(employee_ID),foreign key(employee_ID) references employee(employee_ID) on delete cascade,foreign key(manager_ID) references employee(employee_ID) on delete set null
);
当主表中一条记录被删除时,如何处理子表中的外键字段:
-
on delete cascade : 删除子表中所有的相关记录
-
on delete set null : 将所有相关记录的外键字段值设置为NULL
-
on delete no action: 不做任何操作(默认)
manager_ID作为外键字段,被设置为on delete set null,即当主表中一条记录被删除时,manager_ID设置为NULL,与“添加not null约束”冲突,即无法成功添加约束。
相关文章:
数据库学习笔记——DDL
数据库学习笔记——DDL 建立EMPLOYEE数据库: CREATE TABLE employee(employee_ID int not null,employee_name varchar(20) not null,street varchar(20) not null,city varchar(20) not null,PRIMARY KEY(employee_ID) );CREATE TABLE company(company_name varc…...
MATLAB算法实战应用案例精讲-【人工智能】边缘计算(附python代码实现)
目录 前言 几个高频面试题目 边缘计算和云计算的关系 云计算(cloud computing) 边缘计算...
精彩回顾 | 迪捷软件亮相2023世界智能网联汽车大会
2023年9月24日,2023世界智能网联汽车大会(以下简称大会)在北京市圆满落幕。迪捷软件北京参展之行圆满收官。 本次大会由工业和信息化部、公安部、交通运输部、中国科学技术协会、北京市人民政府联合主办,是我国首个经国务院批准的…...
【ShaderLab PBR 嗜血边缘角色_美式朋克风格_“Niohoggr“_角色渲染(第一篇)】
嗜血边缘角色Cyberpunk style Unity 渲染 《嗜血边缘》截取其中的片段如下:资源分析其中Guitar贴图4张模型:人物细节图:人物模型 Inspector面板这里做一个区域区分:Body贴图1_BC贴图1_BC属性:Body贴图2_NBody贴图3_CMBody贴图4_SRMBody贴图4_RGBReflection Probe第一版Sha…...
python经典百题之围圈报数
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 程序分析 思路1:模拟游戏过程 使用一个循环队列模拟游戏过程,每次循…...
Google Earth Engine(GEE)案例——如何去除和过滤Landsat和sentinel等系列影像集合中的空影像(三种方法)
简介 本文的主要解决的问题是如何去除和过滤Landsat和sentinel等系列影像集合中的空影像?这个主要源于一下的问题: “从图像集中删除空图像”是什么意思?您的脚本将图像集合过滤到没有图像的日期,这会产生包含 0 个图像的图像集合:https: https://code.earthengine.goog…...
Leetcode 69.x的平方根
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1࿱…...
Node18.x基础使用总结(二)
Node18.x基础使用总结 1、Node.js模块化1.1、模块暴露数据1.2、引入模块 2、包管理工具2.1、npm2.2、npm的安装2.3、npm基本使用2.4、搜索包2.5、下载安装包2.6、生产环境与开发环境2.7、生产依赖与开发依赖2.8、全局安装2.9、修改windows执行策略2.10、安装包依赖2.11、安装指…...
LCD 的RGB接口(SYNC Mode/ SYNC-DE Mode/ DE Mode)
1、 SYNC Mode Timing Diagram 2、 SYNC-DE Mode Timing Diagram 3、 DE Mode Timing Diagram RGB接口(SYNC Mode/ SYNC-DE Mode/ DE Mode)-CSDN博客...
flink生成水位线记录方式--周期性水位线生成器
背景 在flink基于事件的时间处理中,水位线记录的生成是一个很重要的环节,本文就来记录下几种水位线记录的生成方式的其中一种:周期性水位线生成器 周期性水位线生成器 1.1 BoundedOutOfOrdernessTimeStampExtractor 他会接收一个表示最大延…...
百度资源搜索平台出现:You do not have the proper credential to access this page.怎么办?
Forbidden site not allowed You do not have the proper credential to access this page. If you think this is a server error, please contact the webmaster. 如果你的百度资源平台,点进去出现这个提示,说明您的网站已经被百度清退了。如果你的网站…...
树莓派CM4开启I2C与UART串口登录同时serial0映射到ttyS0 开启多串口
文章目录 前言1. 树莓派开启I2C与UART串口登录2. 开启多串口总结: 前言 最近用CM4的时候使用到了I2C以及多个UART的情况。 同时配置端口映射也存在部分问题。 这里集中记录一下。 1. 树莓派开启I2C与UART串口登录 输入指令sudo raspi-config 跳转到如下界面&#…...
【租车骑绿道】python实现-附ChatGPT解析
1.题目 租车骑绿道 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 部门组织绿道骑行团建活动。租用公共双人自行车骑行,每辆自行车最多坐两人、做大载重M。 给出部门每个人的体重,请问最多需要租用多少双人自行车 输入描述 第一行两个数字m、n,自行车限重m,代表部门总…...
【ONE·Linux || 多线程(一)】
总言 多线程:进程线程基本概念、线程控制、互斥与同步。 文章目录 总言1、基本概念1.1、补充知识1.1.1、堆区细粒度划分1.1.2、虚拟地址到物理空间的转化 1.2、如何理解线程、进程1.2.1、如何理解线程?1.2.2、如何理解进程? 1.3、实践操作1.…...
华为智能企业上网行为管理安全解决方案(1)
华为智能企业上网行为管理安全解决方案(1) 课程地址方案背景需求分析企业上网行为概述企业上网行为安全风险分析企业上网行为管理需求分析 方案设计组网架构设备选型设备简介行为管理要点分析方案功能概述 课程地址 本方案相关课程资源已在华为O3社区发…...
Acwing 240. 食物链
Acwing 240. 食物链 题目描述思路讲解代码展示 题目描述 思路讲解 代码展示 #include <iostream>using namespace std;const int N 50010;int n, m; int p[N], d[N]; //p[]是并查集的father,d[]是距离int find(int x) {if (p[x] ! x) { //如果说x不是树根的话int t f…...
c++ 容器适配器
Container //创建一个命名空间,避免和库里的冲突 namespace chen {//写一个模版template<class T, class Container deque<T>>//开始写我们的类class stack{public:void push(const T& x){_con.push_back(x);}void pop(){_con.pop_back();}const …...
正则表达式的应用领域及基本语法解析
目录 一、正则表达式的应用领域 1. 文本搜索和替换 2. 表单验证 3. 数据提取和分析 4. 数据清洗和处理 5. URL路由和路由匹配 二、正则表达式的基本语法 1. 字符匹配 2. 元字符和字符类 3. 量词和边界 4. 分组和捕获 5. 转义字符 三、常见正则表达式示例 1. 邮箱…...
CIP或者EtherNET/IP中的PATH是什么含义?
目录 SegmentPATH举例 最近在学习EtherNET/IP,PATH不太明白,翻了翻规范,在这里记个笔记。下面的叙述可能是中英混合,有一些是规范中的原文我直接搬过来的。我翻译的不准确。 Segment PATH是CIP Segment中的一个分类。要了解PATH…...
使用lombok进行bulider之后调取HashMap的自定义方法进行对象操作报空指针异常(pojo也适用)
概论 这主要的问题就是bulider的特性的问题,就是他只能给你搭建了一个脚手架,里面的东西其实他没动你的,你得自己去给他实体化,如果你使用了类似HashMap等集合的话,你得自己去bulid一个在那个里面作为初始化对象你才可…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
