首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数据库delete语句菜鸟_MySQL视图

数据库delete语句菜鸟_MySQL视图

作者头像
全栈程序员站长
发布2022-11-18 17:47:51
发布2022-11-18 17:47:51
4.4K0
举报

大家好,又见面了,我是你们的朋友全栈君。

mysql 中delete语句主要分为三个层次,下面简单介绍下

1. 最基础的条件删除,如下所示

代码语言:javascript
复制
DELETE FROM table_name  where    table_name.name='dell'

还有一种按序删除的方式如下

代码语言:javascript
复制
DELETE FROM customers ORDER BY Name LIMIT 10

2.MySQL DELETE语句使用INNER JOIN子句

代码语言:javascript
复制
DELETE  a FROM tablename AS a LEFT JOIN temp_name AS b ON a.ID = b.ID WHERE b.UserID > 0;


DELETE  a FROM tablename AS a LEFT JOIN temp_name AS b ON a.ID = b.ID WHERE b.ID IS not null;

3.MySQL ON DELETE CASCADE示例

此时 有A和B两个表,当删除A表的记录时,B表关联的字段自动删除,此时需要用到这种方式;

第一步, 创建buildings表,如下创建语句:

代码语言:javascript
复制
USE testdb;
CREATE TABLE buildings (
    building_no INT PRIMARY KEY AUTO_INCREMENT,
    building_name VARCHAR(255) NOT NULL,
    address VARCHAR(255) NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

第二步, 创建rooms表,如下创建语句:

代码语言:javascript
复制
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
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

请注意,在外键约束定义的末尾添加ON DELETE CASCADE子句。

第三步插入部分数据

代码语言:javascript
复制
INSERT INTO buildings(building_name,address)
VALUES('海南大厦','海口市国兴大道1234号'),
      ('万达水城','海口市大同路1200号');

INSERT INTO rooms(room_name,building_no)
VALUES('Amazon',1),
      ('War Room',1),
      ('Office of CEO',1),
      ('Marketing',2),
      ('Showroom',2);

此时 删除building_no = 2 的记录,可以看到rooms表中也删除了

代码语言:javascript
复制
DELETE FROM buildings WHERE building_no = 2;

请注意,ON DELETE CASCADE仅支持使用存储引擎支持外键(如InnoDB)的表上工作。 某些表类型不支持诸如MyISAM的外键,因此应该在使用MySQL ON DELETE CASCADE引用操作的表上选择适当的存储引擎。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/222878.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月29日,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档