精华内容
下载资源
问答
  • delete 多表删除的使用(连表删除)

    万次阅读 2017-04-20 16:03:27
    delete 多表删除的使用 1、从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id 2、从数据...
    delete 多表删除的使用
    



    1、从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉

    DELETE t1 FROM t1,t2 WHERE t1.id=t2.id



    DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id


    2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉

    DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL



    DELETE FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL


    3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉

    DELETE t1,t2 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25

    注意此处的delete t1,t2 from 中的t1,t2不能是别名

    如:

    delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25

    在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)

    上述语句改写成

    delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25

    在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)

    附:上述语句运行的环境 MYSQL 4.0.2以上
    --------------------------------------------------------------------
    联表删除:

    1、从数据表t1 中把那些id值在数据表t2 里有匹配的记录全删除掉

    DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id

    2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉

    DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或

    DELETE FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL

    3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉

    DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25

    注意此处的delete t1,t2 from 中的t1,t2不能是别名

    如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)

    上述语句改写成

    delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)

    http://database.51cto.com/art/201010/229934.htm
    展开全文
  • mysql一条语句删除多表(多表删除

    千次阅读 2013-10-27 16:17:44
    语句1:delete from sheng,city,dian using sheng,city,dian ...注:这条语句执行时,要保证三个中必须有满足语句中要求的数据是才可以删除,否则数据不能删除,但不提示错误,因为语法正确 语句2:DELETE a,b fr
    语句1:delete from sheng,city,dian using sheng,city,dian where sheng.sid=2 and city.sid=sheng.sid and dian.cid=city.cid
    
    注:这条语句执行时,要保证三个表中必须有满足语句中要求的数据是才可以删除,否则数据不能删除,但不提示错误,因为语法正确


    语句2:DELETE a,b from a LEFT JOIN b ON a.id=b.pid WHERE a.id=1

    注:a表是父表,b表为子表,删除a表中的某一条记录,同时删除b表中相关联的记录,b表中可以没有与a表中相关联的数据,那就只删除a表中的数据,而语句1 不能实现这个



    展开全文
  • SQL delete语句 之多表删除 总结

    万次阅读 2018-12-13 01:57:15
    delete语句用于删除表中已经存在的整行数据 Tbl_name关键词代表删除数据的目标表 Where子句代表被删除数据的满足条件,如果没有where...delete单表删除举例 Delete from students; delete from students wher...

    delete语句用于删除表中已经存在的整行数据

    • Tbl_name关键词代表删除数据的目标表

    • Where子句代表被删除数据的满足条件,如果没有where子句则代 表所有表数据都删除

    • Order by子句代表删除数据的顺序

    • Limit子句代表被删除数据的行数限制

    delete单表删除举例

    Delete from students;
    delete from students where sid=1; 
    Delete from students order by sid; 
    Delete from students limit 1;       -- 只删除先找到的一行
    复制代码

    多表删除语句语法有以下两种 同样,被删除的表不能出现在查询子句的子查询中

    • Low_priority关键词表示删除语句需要等待其他链接的读此表操作 结束后再执行,只作用在MyISAM, MEMORY, and MERGE存储引擎

    • Quick关键词是在使用myisam存储引擎时,删除操作不会合并删 除表的索引叶节点,这样会在一定程度上加快删除的速度

    • ignore关键词代表会忽略删除过程中的一些错误

    • order by子句 Delete语句中的order by子句决定了删除数据的顺序,配合limit子 句后在某些情况下也非常有用,比如删除最老的一条记录:

    DELETE FROM somelog WHERE user = 'jcole' ORDER BY timestamp_column LIMIT 1;
    复制代码
    • 多表删除是指从一个或多个表中删除满足条件的数据,其中的 table_references代表了多个表的join操作, 例如以下两个例子代表 从t1和t2表中删除满足条件的数据
    DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id;
    DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id;
    复制代码
    • 对多表删除语句而言,如果想对表使用别名,则只能在 table_references子句中使用,否则会报错
    DELETE a1, a2 FROM t1 AS a1 INNER JOIN t2 AS a2 WHERE a1.id=a2.id;      -- 正确
    DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a1.id=a2.id;    -- 正确
    DELETE t1 AS a1, t2 AS a2 FROM t1 INNER JOIN t2 WHERE a1.id=a2.id;      -- 错误
    DELETE FROM t1 AS a1, t2 AS a2 USING t1 INNER JOIN t2 WHERE a1.id=a2.id;    -- 错误
    复制代码
    • 删除所有学号大于200的学生信息

    • 删除系名为accounting的所有老师信息

    转载于:https://juejin.im/post/5c11bc105188251ba9059203

    展开全文
  • mybaits多表删除问题

    千次阅读 2017-03-28 19:56:24
    2、直接写条语句,用“;”隔开即可   DELETE FROM kw_promotion_application WHERE id=#{id}; DELETE FROM kw_promotion_application_approval WHERE promotion_application_id=#{id}; DELETE ...
  • Hql关联多表删除

    千次阅读 2014-05-14 02:40:00
    一个讨论组有个话题,话题和讨论组关系对一 一个话题个回复,回复和话题关系对一 如何才能在删除课堂的时候可以将一系列与此课堂相关的讨论组,话题,回复给删掉呢? 我想用JPA级联操作,级联...
  • mysql 多表删除

    千次阅读 2005-06-29 17:41:00
    1、从数据t1中把那些id值在数据t2里有匹配的记录全删除掉DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id2、从数据t1里在数据t2里没有匹配的记录查找出来并删除...
  • postgresql 多表关联删除

    万次阅读 2019-01-24 17:44:29
    关联,删除一张中数据 delete from db_lx.t_aj_ajfbxx ajfb USING db_lx.t_xt_dwxx dw where dw.c_bh=ajfb.c_ssdw and dw.c_sfbh='65'; 只有t_aj_ajfbxx 中数据被删除关联,删除一张中数据 dele.....
  • mySQL多表联合删除

    万次阅读 2017-10-14 18:33:27
    之前的数据库操作都是比较简单的单一增删改查,今天遇到多表通过外键联合,如果主表数据删除,其他从表的数据也必须删除,表结构大致如下 book表字段 print表字段 print_binding表字段 print_binding_year表字段...
  • mysql 多表关联删除

    万次阅读 2016-06-14 16:42:17
    两张关联删除:DELETE a,b FROM table1 a INNER JOIN table2 b ON a.id = b.aid WHERE a.id = '1'三张表删除DELETE a,b,c FROM table1 a INNER JOIN table2 b ON a.id = b.aid INNER JOIN table3 c ON a.id = ...
  • oracle多表关联删除数据表记录方法

    千次阅读 2013-06-28 16:31:42
    oracle多表关联删除的两种方法 第一种使用exists方法 delete from tableA where exits ( select 1 from tableB Where tableA.id = tableB.id ) 第二种使用匿名表方式进行删除delete from ( select 1 from table...
  • Mysql删除多表多表记录sql语句

    千次阅读 2015-08-21 16:06:00
    Mysql删除多表多表记录sql语句
  • mysql delete 多表连接删除

    千次阅读 2017-03-08 09:32:04
    单个表的删除:DELETE FROM tableName WHERE columnName = value; 删除表内的所有行: 即:保留表的结构、属性、索引 DELETE FROM tablename;...无法报告删除了几行,且只能用于单一表多表连接删除:DELETE o
  • delete 删除多表数据

    万次阅读 2019-03-08 18:33:28
    1 DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 2 3 1、 delete from t1 where 条件 4 5 2、delete t1 from t1 where 条件 6 7 3、 delete t1 from t1,t2 where 条件 8...
  • MySQL多表关联删除

    万次阅读 2018-07-27 14:34:30
    选择删除t1中的数据以及t2和t3中相关(task_id)的数据 SQL语句如下: DELETE t1,t2,t3 from cl_delivery_task t1 LEFT JOIN xh_saleact t2 ON t1.id=t2.task_id LEFT JOIN xh_sale_detail t3 ON t1.id=t3....
  • mysql支持跨表delete删除多表记录

    千次阅读 2016-07-20 09:14:55
    Mysql可以在一个sql语句中同时删除多表记录,也可以根据多个表之间的关系来删除某一个表中的记录。  假定我们有两张表:Product表和ProductPrice表。前者存在Product的基本信息,后者存在Product的价格。 第一种...
  • mysql delete 多表连接删除功能

    万次阅读 2018-05-08 13:38:53
    mysql delete 多表连接删除功能 转载 2017-03-08 作者:qq_36801966 我要评论 这篇文章主要介绍了mysql delete 多表连接删除功能的相关资料,需要的朋友可以参考下 单个表的删除: DELETE FROM tableName WHERE ...
  • mysql多表关联删除

    千次阅读 2019-07-09 23:52:07
    现有三张表table_a、table_b、table_c ,三张表的关联关系为:table_aname字段关联table_bname字段,table_a的number字段关联table_c的number字段。SQL命令如下: DELETE table_a, table_b, table_c ...
  • MySQL 多表关联更新及删除

    万次阅读 2017-04-07 18:31:36
    一、 多表关联更新 问题描述:现有tdb_goods表(含有具体信息)和tdb_goods_cates表(没有具体信息),需要查询tdb_goods表的所有记录,并且按"类别"分组,且将分组结果写入到tdb_goods_cates数据表。然后通过tdb_...
  • sql同时删除多的数据

    万次阅读 2014-09-04 17:48:06
    DELETE语句中指定,根据中的特定条件,从一个删除
  • SQL中多表连接delete删除表数据

    千次阅读 2019-04-12 14:59:52
    DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1、 delete from t1 where 条件 2、delete t1 from t1 where 条件 3、 delete t1 from t1,t2 where 条件 4、delete t1,t2 from t1,...
  • DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1、 delete from t1 where 条件 2、delete t1 from t1 where 条件 3、 delete t1 from t1,t2 where 条件 4、delete t1,t2 from t1,...
  • PostgresSql 多表关联删除语句

    千次阅读 2019-07-07 14:02:58
    最近用PostgresSql数据库进行多表关联删除的操作,在写sql语句的时候遇到了问题: DELETE s.* FROM student s,classroom c WHERE s.cid = c.id AND s.sid = 1 DELETE FROM student s,classroom c WHERE s.cid = ...
  • Mybatis多表批量删除

    千次阅读 2017-10-17 11:55:07
    -- 批量删除员工信息 --> < delete id = "batchDeleteEmps" parameterType = "int" > delete from emp where empno in < foreach item = "empnoItem" collection = "array" open = "(" separator...
  • hibernate 删除中间数据

    千次阅读 2013-08-09 09:40:22
    下面列出删除中间数据的方法  role跟Program 是关系  Java代码  Role role = get(roleId);   for(Long programId : programIds){   Program p = get(Pro
  • mysql多表多字段关联删除

    千次阅读 2017-07-14 12:59:06
    删除表里面的重复数据demo:  -- 1.先把去重的数据备份好 用于后面删除的关联 create table t_bc_belongperson_170907notrepeat as  select min(fid) as minid from t_bc_belongperson ...
  • 在mysql中删除数据方法有很多种,最常用的是使用delete来删除记录,下面我来介绍delete删除单条记 录与删除多表关联数据的一些简单实例。1、delete from t1 where 条件2、delete t1 from t1 where 条件3、delete t1 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,384,900
精华内容 553,960
关键字:

多表删除