mysql 学习二: mysql中的外键使用

本文介绍MySQL中外键的应用,包括创建带有外键约束的表、插入数据、更新和删除操作等,确保了数据的一致性和完整性。
外键使用的好处在于可以帮助保持数据的一致性,当然缺点就是性能上的损失
而且只有在InnoDB类型的时候才可以使用外键

测试的基本顺序是这样
1. 建表
   CREATE TABLE person ( 
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR(60) NOT NULL,
PRIMARY KEY (id)
)type=innoDB;

CREATE TABLE shirt (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
style ENUM('t-shirt', 'polo', 'dress') NOT NULL,
color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,
owner SMALLINT UNSIGNED NOT NULL,
FOREIGN KEY (owner) REFERENCES PERSON(id)
ON DELETE CASCADE
ON UPDATE CASCADE,
PRIMARY KEY (id)
)type=innoDB;


注意table shirt, 建立外键的语句和级联更新删除的语句
FOREIGN KEY (owner) REFERENCES PERSON(id)
ON DELETE CASCADE
ON UPDATE CASCADE,
PRIMARY KEY (id)

2. 插入数据
person表
INSERT INTO person VALUES (NULL, sean');
INSERT INTO person VALUES (NULL, 'chen');
INSERT INTO person VALUES (NULL, 'wei');

shirt表
INSERT INTO shirt VALUES
(NULL, 'dress', 'orange', 1),
(NULL, 'polo', 'red', 2),
(NULL, 'dress', 'blue',1),
(NULL, 't-shirt', 'white',2);

注意:第四个字段是代表owner, 这里输入person表中的Id
建立起连接

3. 进行update关联测试
3.1 更新person表的id
update person set id= 3 where id = 1;
3.2 查看shirt表的owner变化
SELECT * FROM shirt;
结果:
最后owner为1的字段,内容变成3

4. 进行delete关联测试
4.1 删除Person表中id=3的内容
DELETE FROM PERSON WHERE id=3;
4.2 查看shirt表的变化
select * from shirt;
结果:发现owner=3的记录被删除

测试通过,发现数据保持一致。

另外,在shirt中尝试删除owner作为index, 系统报错
另外,作者做了些实验:
1. 尝试通过shirt表的字段改变,来改变person表的相关字段
update shirt set owner=10 where owner=2
报错

查了mysql手册,mysql5.0开始,自动把外键值作为index,详细请查看手册

2. mysql browser作为客户端工具,操作比较简单,容易上手,可以参考使用
3. 没有解决的问题:
shirt表中的owner作为index, 如何设置的?为什么不能取消?
还请高手赐教!
4. 建立外键的表,是跟谁被reference的进行修改
也就是shirt表跟谁着person表进行更改、删除
而不是相反的过程!
内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练与应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化与训练,到执行分类及结果优化的完整流程,并介绍了精度评价与通过ENVI Modeler实现一化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI或分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员或研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者与实践者。; 使用场景及目标:①在遥感影像中自动识别和提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程与关参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优与结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置与结果后处理环节,充分利用ENVI Modeler进行自动化建模与参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值