mysql中删除数据不可以用子查询吗?

mysql中删除数据不可以用子查询吗?,第1张

不能先select出同一表中的某些值,再update这个表(在同一语句中)

解决方案

--1.把需要删除的数据放到另外的一张表里

create table table_test as select oneName from one 

 group by OneName,OneAge,oneSex,oneAddress having count(oneName) > 1

--2.删除不需要的数据

delete from one where onename in(select oneName from table_test)

--3.删除创建的表

drop table table_test

以id的大小排序,确定最后5条数据。

-- oracle

delete from tb_user t3 where t3.id in(

select t2.id from (

select t1.id,ROWNUM as r from tb_user t1 ORDER BY t1.id ) t2

where t2.r<=5)

-- mysql

delete from tb_user t2 where t2.id IN

(select t1.id from tb_user t1 order by t1.id LIMIT 5 )

01

如图,比如我有一张数据表studentinfo,我想要删除studentid为1009的这条数据。

02

我们可以直接点击设计界面下方的减号来删除数据。如图,选中数据,然后点击减号按钮。

03

点击减号之后,就会d出一个提示框,问你是否要删除这条数据。

04

之后,选中的数据记录就从数据表中删除掉了。

05

也可以使用SQL语句来删除数据记录,点击查询菜单下的“新建查询”。

06

如图,在其中输入delete from studentinfo where studentid=1001

这样就可以删除studentid为1001 的数据记录了。

Delete from 后面接的是表名,where后面接的是条件,

因为我是要删除studentinfo表中studentid等于1001的记录,所以就这样写。

07

之后,点击运行按钮来执行删除 *** 作。

08

如图,回到之前的界面,需要点击一下下边的刷新按钮。

09

这样,我们就可以看到1001的那条记录已经被删除掉了。

10

而如果想要删除全部的数据记录,可以直接输入查询语句:delete from studentinfo

运行之后就可以删除全部的数据记录了。

11

如图,所有的数据记录都被删除掉了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6111167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存