不能先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
如图,所有的数据记录都被删除掉了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)