drop
是删除表
truncate
和
delete
是清空表内的数据,但
truncate
较快,truncate
是一个DDL语言,他将被隐式提交。可以对
delete
使用
rollback
命令,但不能对
truncate
使用。
用循环可以做的
---创建临时表存放表名:
create table #t
(
no int PRIMARY KEY IDENTITY(1,1),
tablename varchar(50)null,
)
---把所有wiki开头的表存放到临时表
select name into #t from sysobjects where xtype='U'
where name like 'wiki%'
DECLARE @n int
DECLARE @nmax int
DECLARE @tablename1 varchar(50)
set @n = 1
set @nmax = (select max(no) from @t)
set @tablename1 = ''
WHILE @n < @nmax
begin
set @tablename1 = (select tablename from #t where no = @n)
drop @tablename1
set @n = @n +1
end
有不明白的可以问
delete
是dml语句,drop是ddl语句
delete只删除记录,不删除表空间;drop从表空间中删除该表,使该表结构不再存在。
delete执行后需要commit提交才生效,drop不需要手动提交,执行完立即生效
数据库删除语句如下:
1、delete。基础用法:delete from table(表名)。这个用于删除有明确定义的数据或者整个表的数据。比如:id是唯一不可重复的,delete from Student where id=5,即把id=5的唯一的一条数据删除。
2、rop基础用法:drop table +表名称、drop database +数据库名称、drop index +索引名称、drop view +视图名称(*在不同数据库中写法不一定是一样的),只针对删除表来说,delete用于删除整个表的数据以及结构。即把整个表彻底删除,表中的数据和字段等等全部被删除。
3、truncate基础用法:truncate table +表名称。删除表中的全部数据,包括占用的id也会全部清除。表结构不会改变,一般来说想重新往表中导入数据,就会用到这个方法。
数据库删除语句的注意事项。
用delete语句删除掉的数据,原本的被占用id并不会被删除。意思是你删除掉了id中1-10的数据,你再往里加数据,id就是从11开始。所以有些不太熟练数据库的入门者,就可能会看到id断断续续(1,5,7,8,11)排序,有可能是因为使用了detele删除了某些数据。在删除数据之前,可以使用SELECT语句对DELETE语句中的WHERE子句进行测试,这样可以对即将删除的数据进行验证,保证不会勿删。
以上就是关于数据库表的删除方式有drop、delete和truncate哪个最快全部的内容,包括:数据库表的删除方式有drop、delete和truncate哪个最快、数据库名称db162064,如何在sql中批量drop开头为wiki的表、数据库中drop和delete的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)