速掌握DB2数据库创建外键时的选项

DB2创建数据库-创建用户-赋值权限-导入数据 db2 阅读详情

教你快速掌握DB2数据库创建外键时的选项
创建外键时的选项:

 

1.创建测试表:

drop table student;

drop table class; 

drop table student_class; 

Create table student(student_id integer not null,student_name varchar(200), CONSTRAINT P_KEY_1 primary key (student_id)) in luzl_32k_tb index in luzl_32k_tb ; 

Create table class(class_id integer not null,class_name varchar(200), CONSTRAINT P_KEY_2 primary key (class_id))  ; 

Create table student_class(student_class_id integer,student_id integer,class_id integer) ; 

alter table student_class add constraint if_class foreign key(class_id) references class(class_id) ON DELETE cascade ON UPDATE RESTRICT; 

alter table student_class add constraint if_student foreign key(student_id) references student(student_id) ON DELETE cascade ON UPDATE RESTRICT; 

Insert into student(student_id,student_name) values(1,'luzl');

Insert into class(class_id,class_name) values(1,'db2'); 

Insert into student_class(student_class_id,student_id,class_id) values(1,1,1); 

2.On Delete 的选项有:

Restrict/no action/cascade/set null.其中cascade选项指定的话,如果删除父记录,依赖于他的子记录也会自动删除.相当于级联删除.如果指定no action和cascade都会报错,因为还有子记录所以无法删除该记录.set nul允许删除父记录并且l会将子表中与父表关联的字段设置为null. 

3.On Update 只有两个选项 no action/restrict.它们在更新和删除时并没有区别。如果与子表关联不允许删除. 

4.另外还需要注意一点,父表中的字段必须是主键,才能做为子表的外键。

 

 

Ubuntu20.04实内核补丁PREEMPT_RT编译与安装全流程解析 本文详细解析了在Ubuntu20.04系统上编译与安装实内核补丁PREEMPT_RT的全流程。从内核与补丁版本匹配、编译环境准备,到内核配置、编译排错,再到最终安装、验证与进阶优化,提供了手把手的实战指南,旨在帮助机器人、工业控制等对实性有苛刻要求的开发者构建低延迟、高确定性的Linux系统。 阅读详情

相关推荐

《网络安全自学教程》- 防火墙原理分析与Windows防火墙使用配置

防火墙分类及原理,Windows开启防火墙,Windows防火墙添加策略,

wangyuxiang946的博客 1万+

DB2

1、通常我们的做法是在空表的候就建,这样就可以避免建候check已有数据。而建db2乎就是检查数据的有效性,因此影响度就是由于数据造成的。 2、提高数据检查的性能,可能是唯一的方式,那么我想说的是,应该和你列出来的参数无关,我建议你建之前,对引用关系的两个表做一次runstats操作,这样应该可以提高度。 3、父表一定有索引,这是肯定到了,但是...

迷失在爪哇世界中的专栏 933

realme flash.zip

realme官方线刷工具

db2 约束条件 添加字段 删除字段 创建索引 主 primary key 创建与运用

一。约束条件  作用控制如何给字段赋值 NULL       |                  key      |     default   |    extra 是否允许赋null值      值            默认值        额设置  null(允许为空)   not(不允许为空) key(索引类型)   default(设置默认值,缺省为null) crea...

xixi1067087210的博客 7040

约束 & 级联操作

约束 -- 创建db2数据库 CREATE DATABASE db2; -- 使用db2数据库 USE db2; /* 约束 标准语法: CONSTRAINT 名 FOREIGN KEY (本表列名) REFERENCES 主表名(主表主列名) */ -- 建表添加约束 -- 创建user用户表 CREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, -- id NAME VARCHAR(20) NOT NUL

qq_45181415的博客 1740

DB2-添加的SQL语句

DB2-添加的SQL语句ALTER TABLE TRANSACTION ADD FOREIGN KEY (ID) REFERENCES CLIENT(ID)第一个ID是TRANSACTION的id值, 将要关联到表CLIENT的id.by Mike Sun @ 20170629 Thursday

We get old too soon and wise too late 4940

DB2数据库,约束,索引,注释标准语法

index_name是要创建的索引的名称,table_name是要在其上创建索引的表格名称,column_name是要在其上创建索引的列名称。index_name是要创建的索引的名称,table_name是要在其上创建索引的表格名称,column_name是要在其上创建索引的列名称。例子中,table_name是包含目标列的表格名称,column_name是目标列的名称,comment是要添加的注释文本。非分区索引都有,单例索引,复合索引,唯一索引,全文索引,空间索引。

艾导才不是小艾的博客 1240

db2中constraint_DB2 约束

测试表-- 创建测试主表. ID 是主.CREATE TABLE test_main ( id INT NOT NULL, value VARCHAR(10), PRIMARY KEY(id));-- 创建测试子表.CREATE TABLE test_sub ( id INT NOT NULL, main_id INT , value VARC...

weixin_35343856的博客 1413

DB2、Oracle、SqlServer、Mysql下查看以及关联的表和表字段

DB2、Oracle、SqlServer、Mysql四种数据库中,查看表的信息,以及关联的表及表字段的语句。 输出的格式一样,所以之截图了一个, 有多个会返回所有的值。 Oralce : select c.table_name,c.constraint_name,d.column_name,cl.table_name,cl.column_name from user_cons_...

黎明小书生 1643

Python通过ibm_db模块进行DB2数据库连接

- 下载ibm_db模块 具体安装步骤自行百度 然后import ibm_db进行模块导入 连接到DB2数据库 语句 描述 ibm_db.connect() 创建非持久连接 ibm_db.pconnect() 创建持久连接。对于持久连接,Python请求之间的连接保持打开状态,如果后续的Python脚本请求具有相同的凭证集,则允许重用连接 代码示例: # 导入ibm...

weixin_42970378的博客 7212

DB2数据库创建

创建DB2数据库 DB2数据库概述 数据库、表空间、表的关系 •数据库由实例进行创建和管理 •数据库包含一到多个表空间 •表存储在表空间中 表空间、容器、区与数据页 •数据库的最小存储单位是数据页(datapage) •区(extent)由整数倍的数据页组成 •表空间容器(Container)是由多个区组成的 •表空间(Tablespace)由一到多个容器组成 容器与表空间 •表、索引等逻辑对...

ggz 的博客 1万+

DB2 使用批处理创建数据库

 在linux操作系统上,每个实例必须对应一个linux用户,因此2个实例的转换可以通过转换用户得以简单实现,使用su命令。编制脚本:create_table.batdb2 drop db express2set DBPATH=C:SET DBNAME=express2SET MEMORY=20db2 CREATE DATABASE %DBNAME% on %DBPATH%

夜澜偶作庄周梦 酒后聊为楚客狂 4191

定义

是非常重要的概念,也是体现关系数据库中“关系”二字的体现,通过使用,我们才能把互相独立的表关联起来,从而表达丰富的业务语义。 是定义在源表中的,定义位置同样为所有字段定义的后面,使用FOREIGN KEY关字来定义字段,并且使用REFERENCES关字来定义目标表名以及目标表中被关联的字段,格式为: FOREIGN KEY 字段名称REFERENCES 目标表名(被...

weixin_30364147的博客 3099

[DB2 学习记录]7. 创建DB

有点乱,因为有些没明白,等明白了,再整理。启动Command Line Processor,CLPdb2cmd db2  CREATE DATABASE MY1STDB    * 数据库名称可以由以下字符组成:a-z、A-Z、0-9、@、# 和 $。    * 名称中的第一个字符必需是字母表字符、@、# 或 $;不能是数字或字母序列 SYS、DBM 或 IBM。    * 数据库名称或数据库别名是

祺祺小站 6765

db2 创建数据库步骤详解

启动 [root@localhost ~]# su - db2inst1 [db2inst1@localhost ~]$ db2start SQL8007W There are "13" day(s) left in the evaluation period for the product "DB2 Connect Server". For evaluation license terms and conditions, refer to the License Agreement docum

Auspicious航的博客 4226

DB 查询分析器 方便地创建DB2自定义函数

本文详细地介绍了“万能数据库查询分析器”,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》6.03 来方便地创建DB2函数。创建DB2存贮过程与此相同,大家可以参照以下步骤。另,本示例还适用于SQL语句要以逗号来分隔的数据库系统(如ORACLE)。

《万能数据库查询分析器》创作人 6051

DB2 创建数据库的详细步骤_db2创建数据库

首先确保已经正确安装了 DB2,并且服务已经启动。

m0_60388292的博客 1495

创建 DB2 数据库

创建 DB2 数据库可以使用 Tivoli Privacy Manager 数据库创建程序或使用数据库产品界面可以创建 Tivoli Privacy Manager 数据库、表和配置数据库。使用 DB2 数据库创建程序手工创建数据库和表使用 DB2 数据库创建程序使用 Tivoli Privacy Manager 数据库创建程序来创建 Tivoli Privacy

JoShua 的 水库 1443

从SQL server 数据库迁移到Mysql数据库

从SQL server 数据库迁移到Mysql数据库测试用源数据库使用Navicat进行迁移使用DB2DB进行数据库迁移两种方式对比默认值支持情况::Navicat对少部分数据类型支持不好度方面总结注: 收到了入职公司后的第一个任务,研究一下如何从Sql Server数据库迁移到Mysql数据库。 通过查询了很多资料,选择两种工具进行数据库的迁移测试,分别为:Navicat Premium官方网址 ;和DB2DB官方网址。 测试用源数据库 因为没有现成的数据库供迁移测试,我在CSDN上找到了一个Sql

qq_40978942的博客 2186

windows下db2创建数据库

windows下db2创建数据库 1.找到命令行dbcmd 打开电脑,进入电脑操作系统,使用快捷组合WIN+R可以直接打开运行,输入dbcmd命令行,即可直接打开db2命令行dbcmd。 2.使用db2start启动db2数据库 通过以上方法,在电脑中找到db2命令行db50pxd后,点击确定或者直接点击回车,进入命令行db50pxd的运行程序界面。在db50pxd运行界面中,输入db2start,开始启动db2数据库。 3.完成db2数据库的启动 在dbcmd运行界面中,输入db2start,开始

jingemperor的博客 4150

DB2数据库创建流程

DB2数据库创建流程1.设置db2兼容性(Oracle)2.创建DB2数据库3.连接db2,对db2进行命令操作4.create EEBP5.create TABLESPACE6.create SCHEMA7.GRANT ROLE TO USER总结 1.设置db2兼容性(Oracle) db2set DB2_COMPATIBILITY_VECTOR=ORA(必须在建库之前跑) 2.创建DB2数...

凯文小菜菜的博客 1414
上一篇: DB2临时表在SQL过程
下一篇: DB2中,LONG VARCHAR 数据类型的使用会受到什么语句的限制呢?
silkss
博客等级 码龄17年 1粉丝 6原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值