删除表数据有两种方法:delete和truncate。具体语句如下:
一、RUNCATE TABLE name :
删除表中的所有行,而不记录单个行删除操作。在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。
TRUNCATE TABLE 的语法:TRUNCATE TABLE name ,参数 name 是要截断的表的名称或要删除其全部行的表的名称。
二、Delete from tablename where 1=1
1、delete语法:
DELETE FROM 表名称 WHERE 列名称 = 值。
2、删除所有行:
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:DELETE FROM table_name。
(1)按条件删除数据sql扩展阅读:
truncate和delete的共同点及区别:
1、 truncate和 delete只删除数据不删除表的结构(定义) 。
2、delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发。
truncate是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger。
3、delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动 。truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始)。
4、速度,一般来说: truncate >delete 。
Ⅱ 1.SQL中如何用delete删除指定表中的所有内容 2.如何删除所有表
delete
from
table
是根据条件来删除的,也就是说,你可以根据自己想删除的记录的一些特有的条件来删除它,
一般plsql操作oracle的时候,可以将语句写成这种格式
select
*
from
table
--delete
from
table
where
a
=
b;
and
c
in
('d','e')
and
f
like
'%g%';
删除的时候可以从delete开始选中,完全选中就是查看,
如果想删除所有表,那么可以使用这种方法(慎用!!!):
用户下有一个默认的表,all_tables
里面存储了所有表的信息,可以通过字符拼接来实现drop语句
select
'drop
table
'||table_name||';'
from
all_tables;
将这些语句执行,那么就可以删除所有表,
不过也可以通过select
*
from
all_tables
where
table_name
like
'%abcd%';来查找自己想要删除却忘记了表名的一些表。
Ⅲ sql删除语句,多条件删除怎么判断
delete from table where a=123 and time>'21:30' and time <'21:40'
实例删除,2008-08-11 12:00:15秒的数据
delete from t_cp where callpsalary=1800 and stime>'2008-08-11 12:00:00' and stime <'2008-08-11 12:01:00'
只删除这一条!
Ⅳ 求SQL语句:按条件删除数据
delete from secend t where t.username in (select username from first where time like '20120203%');
delete from first where time like '20120203%';
commit;
记得要先删secend表,再删first表。
表的数据量不会很大吧?那就直接执行就可以了。
另外如果time数据类型是date的,那就把time like '20120203%' 改成
time >=to_date('20120203','yyyymmdd') and time <to_date('20120204','yyyymmdd')
Ⅳ SQL数据库怎么根据条件删除数据
delete * from 会员表 where 级别字段>100 and datediff(d,最后一次登陆的时间,getdate())>6.
你需要把表的名称和字段的名称写出来。
Ⅵ sql server 400多万的数据表,怎么按条件快速的删除,只有用delete+循环删除么,有没有其他的办法
首先,确定一下删除的条目占总条目的比例,如果少于10%那么可以用index来提高效率,如果大于10%,那么若原表格有index就禁用,改用full table scan,若删除的条目大于50%,那么可以把符合条件的条目选出来建立新表,在把原表格删除,让后把新表名称改成和原表一样
Ⅶ SQL语句按条件删除数据
前提是secend中的username是主键 first中是username是外键语句如下
delete from second where username in (select username from first where to_number(to_char(time,'yyyymmdd')) < 20120203) cascade;
ps:否则还需要重新删除first中的行如下
delete from first where to_number(to_char(time,'yyyymmdd')) < 20120203;
Ⅷ SQL删除语句多条件删除怎么写
用and,条件是并列的,就是说and前后的条件同时满足才能删除
delete from 销售 where 单号 =‘1001’ and 条码='3002'
祝好运,望采纳。