数码资讯
MySQL支持跨表删除删除多个表记录
几天前,MySQL跨表更新的摘要已经写了。今天我们来看交叉表删除。 在MYSQL4.0,MySQL开始支持交叉表中删除。 MySQL可以在SQL语句中同时删除多个表记录,或者根据多个表之间的关系删除表中的记录。 假设我们有两个表:产品表和价格表。前者产品的基本信息,后者的产品价格。 第一种方法是删除
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
几天前,MySQL跨表更新的摘要已经写了。今天我们来看交叉表删除。
在MYSQL4.0,MySQL开始支持交叉表中删除。
MySQL可以在SQL语句中同时删除多个表记录,或者根据多个表之间的关系删除表中的记录。
假设我们有两个表:产品表和价格表。前者产品的基本信息,后者的产品价格。
第一种方法是删除不带连接的交叉表,由逗号指定,将多个表分隔为删除删除,后面是SQL语句:
复制代码代码如下所示:
删除P. *,页*
从产品价格P,PP
在p.productid = pp.productid
和p.created < '2004-01-01
交叉表删除的第二种方式是使用内部连接来指定联接中两个表之间的关联,如下所示:SQL语句:
复制代码代码如下所示:
删除P. *,页*
从产品P
产品价格内加入PP
在p.productid = pp.productid
在p.created < '2004-01-01
注:没有交叉表删除上面表中的所有数据,SQL语句也将删除数据中的产品和价格表,但你可以指定删除产品。只删除表中的产品记录,而不是在产品价格记录表。
交叉表的删除也可以使用左连接,例如,我们要删除,不计入产品价格表产品表记录。以下SQL语句如下:
复制代码代码如下所示:
*删除P.
从产品P
左连接价格PP
在p.productid = pp.productid
在pp.productid是空的
交叉表删除非常有用,所以在需要的时候使用它。欢迎另一篇关于跨表更新的文章。
在MYSQL4.0,MySQL开始支持交叉表中删除。
MySQL可以在SQL语句中同时删除多个表记录,或者根据多个表之间的关系删除表中的记录。
假设我们有两个表:产品表和价格表。前者产品的基本信息,后者的产品价格。
第一种方法是删除不带连接的交叉表,由逗号指定,将多个表分隔为删除删除,后面是SQL语句:
复制代码代码如下所示:
删除P. *,页*
从产品价格P,PP
在p.productid = pp.productid
和p.created < '2004-01-01
交叉表删除的第二种方式是使用内部连接来指定联接中两个表之间的关联,如下所示:SQL语句:
复制代码代码如下所示:
删除P. *,页*
从产品P
产品价格内加入PP
在p.productid = pp.productid
在p.created < '2004-01-01
注:没有交叉表删除上面表中的所有数据,SQL语句也将删除数据中的产品和价格表,但你可以指定删除产品。只删除表中的产品记录,而不是在产品价格记录表。
交叉表的删除也可以使用左连接,例如,我们要删除,不计入产品价格表产品表记录。以下SQL语句如下:
复制代码代码如下所示:
*删除P.
从产品P
左连接价格PP
在p.productid = pp.productid
在pp.productid是空的
交叉表删除非常有用,所以在需要的时候使用它。欢迎另一篇关于跨表更新的文章。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。