MySQL 同时 delete 多张表的数据

摘要:
三张表article,tag,article_tagarticle文章表createtablearticle(article_idintprimarykeyauto_increment,article_titlevarchar(100));insertintoarticle(article_title)values('Spring源码分析'),('Spring生命周期'),('SpringMVC源

三张表

article ,tag,article_tag

article 文章表

create tablearticle(
    article_id int primary keyauto_increment,
    article_title varchar(100)
);
insert into article(article_title) values('Spring源码分析'),
('Spring生命周期'),
('SpringMVC源码分析'),
('MySQL....');

tag 标签表

create tabletag(
    tag_id int primary keyauto_increment,
    tag_name varchar(100)
);
insert into tag(tag_name) values('Spring'),
('SpringMVC'),
('Java'),
('MySQL');

article_tag 文章与标签的中间表

create tablearticle_tag(
    article_tag_id int primary keyauto_increment,
    article_id int,
    tag_id int);
insert into article_tag(tag_id,article_id) values(1,1),
(1,2),
(2,2),
(3,1),
(3,2),
(3,3),
(4,4);

关联查询的数据

MySQL 同时 delete 多张表的数据第1张

删除 文章id 为 2 的相关数据

# 删除 文章id 为 2的相关数据
DELETEarticle_tag,
article 
FROMarticle_tag
    INNER JOIN article ON article_tag.article_id =article.article_id 
WHEREarticle.article_id = 2;

执行的结果,再查询

MySQL 同时 delete 多张表的数据第2张

从这里可以看得出,成功删除了 4 条数据,4 条数据 = article 表中id为2的数据(只有一条) + article_tag 表中 与 article_id = 2 的 3 条数据。

MySQL 同时 delete 多张表的数据第3张

MySQL 同时 delete 多张表的数据第4张

免责声明:文章转载自《MySQL 同时 delete 多张表的数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇从ASP.NET得到Microsoft Word文档Android Studio中SVN的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

大数据培训班 cloudera公司讲师面对面授课 CCDH CCAH CCP

大数据助力成就非凡。大数据正在改变着商业游戏规则,为企业解决传统业务问题带来变革的机遇。毫无疑问,当未来企业尝试分析现有海量信息以推动业务价值增值时,必定会采用大数据技术。 目前对大数据的分析工具,首选的是Hadoop平台。由于Hadoop深受客户欢迎,许多公司都推出了各自版本的Hadoop,也有一些公司则围绕Hadoop开发产品。在Hadoop生态系统...

MySQL8.0数据库连接驱动问题

在新电脑上安装了MySQL8.0,打开原来的一个项目去连接时,报如下错误 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Caused by: java.lang.Nul...

数据仓库架构设计的概念

1、数据仓库所处环节 在一个成体系、结构化的数据应用场景下,数据和处理有四个层次: 操作层、数据仓库层、部门/数据集市层、个体层。 操作层 操作层是指为具体业务提供实时响应的各个业务系统,比如常见的订单系统、ERP、用户中心等等具体业务系统,这些系统中的数据一般都是存入关系型数据库。它们是数据的来源。 数据仓库 数据仓库收集操作层各个业务系统中的数据,进...

编程实践:使用java访问mySQL数据库

1、虚拟机安装mySQL 服务器, 宿主机分别使用navicat工具和java代码 访问mySQL,组网图如下:        2. 查看mySQL的服务器状态,如下:      3. 服务器上查看数据库和数据表内容如下:     4. 在宿主机上,使用navicat 查看内容如下:     查看user数据表中的内容,如下,其实有很多列,下面只是一个截...

CDH| Cloudera Manager的安装

一.  cloudera manager的概念 简单来说,Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。 功能: 1)   管理:对集群进行管理,如添加、删除节点等操作。 2)   监控:监控集群...

Java将数据进行分组处理

将传人的数据进行分组,使用map保存每组的数据。 /*** 将取出的数据进行分组 * @paramlist * @return */ public Map<Integer,Object> groupList(List<Map<String, Object>&...