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

考研网站做刷词青岛景点

考研网站做刷词,青岛景点,网站建设西安,电商系统哪家好排行榜在本教程中#xff0c;您将学习如何使用MySQL ON DELETE CASCADE引用操作来执行外键从多个相关表中删除数据。在上一个教程中#xff0c;我们学习了如何使用单个DELETE语句从一个或多个相关表中删除数据。但是#xff0c;MySQL提供了一种更为有效的方法#xff0c;称为ON D…在本教程中您将学习如何使用MySQL ON DELETE CASCADE引用操作来执行外键从多个相关表中删除数据。在上一个教程中我们学习了如何使用单个DELETE语句从一个或多个相关表中删除数据。但是MySQL提供了一种更为有效的方法称为ON DELETE CASCADE对于外键的引用操作可以实现在从父表中删除数据时自动删除子表中的数据。1. MySQL ON DELETE CASCADE示例下面来看一些使用MySQL ON DELETE CASCADE的例子。假设有两张表建筑物(buildings)和房间(rooms)。 在这个数据库模型中每个建筑物都有一个或多个房间。 然而每个房间只属于一个建筑物。没有建筑物则房间是不会存在的。建筑物和房间表之间的关系是一对多(1N)如下面的数据库图所示当我们从buildings表中删除一行时还要删除rooms表中引用建筑物表中行的行。 例如当删除建筑编号(building_no)为2的行记录时在buildings表上执行如下查询DELETE FROM buildingsWHEREbuilding_no 2;我们希望rooms表中涉及到建筑物编号2的行记录也将被删除(讲得通俗一点假设2号楼倒塌了那么2号楼的房间应该也就不存在了)。以下是演示MySQL ON DELETE CASCADE参考操作如何工作的步骤。第一步 创建buildings表如下创建语句USE testdb;CREATE TABLE buildings (building_no INT PRIMARY KEY AUTO_INCREMENT,building_name VARCHAR(255) NOT NULL,address VARCHAR(255) NOT NULL)ENGINEInnoDB DEFAULT CHARSETutf8;第二步 创建rooms表如下创建语句USE testdb;CREATE TABLE rooms (room_no INT PRIMARY KEY AUTO_INCREMENT,room_name VARCHAR(255) NOT NULL,building_no INT NOT NULL,FOREIGN KEY (building_no)REFERENCES buildings (building_no)ON DELETE CASCADE)ENGINEInnoDB DEFAULT CHARSETutf8;请注意在外键约束定义的末尾添加ON DELETE CASCADE子句。第三步 将一些数据插入到buildings表如下插入语句INSERT INTO buildings(building_name,address)VALUES(海南大厦,海口市国兴大道1234号),(万达水城,海口市大同路1200号);第四步 查询buildings表中的数据mysql select * from buildings;--------------------------------------------------| building_no | building_name | address |--------------------------------------------------| 1 | 海南大厦 | 海口市国兴大道1234号 || 2 | 万达水城 | 海口市大同路1200号 |--------------------------------------------------2 rows in set现在可以看到在建筑物表中有两行记录。第五步 将一些数据插入到rooms表如下插入语句INSERT INTO rooms(room_name,building_no)VALUES(Amazon,1),(War Room,1),(Office of CEO,1),(Marketing,2),(Showroom,2);第六步 查询rooms表中的数据mysql select * from rooms;-------------------------------------| room_no | room_name | building_no |-------------------------------------| 1 | Amazon | 1 || 2 | War Room | 1 || 3 | Office of CEO | 1 || 4 | Marketing | 2 || 5 | Showroom | 2 |-------------------------------------5 rows in set从上面行记录中可以看到building_no1的建筑有3个房间以及building_no2有2个房间。第七步 删除编号为2的建筑物DELETE FROM buildings WHERE building_no 2;第八步 查询 rooms表中的数据 -mysql DELETE FROM buildings WHERE building_no 2;Query OK, 1 row affectedmysql SELECT * FROM rooms;-------------------------------------| room_no | room_name | building_no |-------------------------------------| 1 | Amazon | 1 || 2 | War Room | 1 || 3 | Office of CEO | 1 |-------------------------------------3 rows in set可以看到表中只剩下引用building_no1的记录了引用building_no2的所有行记录都被自动删除了。请注意ON DELETE CASCADE仅支持使用存储引擎支持外键(如InnoDB)的表上工作。 某些表类型不支持诸如MyISAM的外键因此应该在使用MySQL ON DELETE CASCADE引用操作的表上选择适当的存储引擎。查找受MySQL ON DELETE CASCADE操作影响的表的技巧有时当要从表中删除数据时知道哪个表受到MySQL ON DELETE CASCADE参考操作的影响是有用的。 可从information_schema数据库中的referential_constraints表中查询此数据如下所示USE information_schema;SELECTtable_nameFROMreferential_constraintsWHEREconstraint_schema database_nameAND referenced_table_name parent_tableAND delete_rule CASCADE例如要使用示例数据库(testdb因为上面两个表是建立在testdb数据库之上的)中的CASCADE删除规则查找与建筑表相关联的表请使用以下查询USE information_schema;SELECTtable_nameFROMreferential_constraintsWHEREconstraint_schema testdbAND referenced_table_name buildingsAND delete_rule CASCADE执行上面查询语句得到以下结果 -------------| table_name |------------| rooms |------------1 row in set在本教程中我们一步一步向您展示了如何在从父表中删除数据时使用MySQL ON DELETE CASCADE引用操作从外键自动从子表中删除相关联的数据。¥ 我要打赏纠错/补充收藏加QQ群啦易百教程官方技术学习群注意建议每个人选自己的技术方向加群同一个QQ最多限加 3 个群。
http://www.zqtcl.cn/news/734951/

相关文章:

  • 图片网站如何做百度排名深入挖掘wordpress
  • 网站建设的前景网站建设分为哪三部分
  • 房地产公司网站下载校园二手信息网站建设
  • 有关网站空间不正确的说法是设计和建设企业网站心得和体会
  • 个人网站前置审批项怎么做投票 网站
  • 网站建设零金手指花总js源码下载从哪个网站能下载
  • 网站开发属于无形资产两人合伙做网站但不准备开公司
  • 五大类型网站网站建设投标文件
  • 崇明区建设镇网站装修公司网站制作
  • 哪些网站可以做房产推广呼家楼街道网站建设
  • 微网站怎么开通萝岗手机网站建设
  • 牙科医院网站开发内江市住房和城乡建设局网站电话号码
  • 网站建设的想法和意见芜湖的网站建设公司
  • 效果好的网站建设wordpress主题基础
  • html5建设摄影网站意义crm免费客户管理系统
  • win2008 建立网站网站策划书的撰写流程
  • 德泰诺网站建设百度网盘资源搜索引擎入口
  • 谁能给个网站谢谢wordpress 主题 后门
  • 学校网站建设目的seo教学免费课程霸屏
  • 会计公司网站模板微信网站如何制作软件
  • 烟台做网站多少钱.net网站做增删改
  • 什么网站专门做软件的深圳电商网站制作
  • 局域网做网站家装公司哪家比较好
  • 免费的行情软件网站在线使用wordpress视频分享
  • 内容平台策划书网站优化公司推荐
  • 怎么在阿里巴巴网站做公司wordpress伪静态404
  • 配置 tomcat 做网站网站建设用什么语言
  • 大型的营销型网站建设怎么选择网站建设公司
  • 怎么用网站源码建站友情链接交换方式有哪些
  • 国外免费网站服务器链接幼教网站建设分析