写一下关于删除操作的sql,如果有错误希望指正,本次写的只是关于oracle的删除操作,之后又sql server 或者 mysql的以后会更新
1、drop table tablename(删除内容和定义,释放空间)
drop 操作可以说是最直接的删除了,在删除表中数据的同时也会删除表的结构。也就是说你执行了drop操作之后这个表在你的数据库就不存在了
2、truncate table tablename(删除内容,不删除定义,释放空间)
truncate操作是只会删除表中数据的,会把表中的数据一次全部删除,不会对每行数据进行操作
3、delete from tablename(删除内容,不删除定义,不释放空间)
delete操作也是只会删除表中数据的,但是这个操作是每行的去删除,而不是一次进行全部删除,所以有delete from tablename where xxxx;也就是说也可选择性的删除
三个不同操作的对比:
drop比较明显就不说了,下面比较下truncate和delete,
1、truncate因为不会每一行数据进行删除,delete是每一行数据进行删除,所以truncate的效率是比delete高的。
2、但是相对于delete,truncate后面不能跟where语句,只能选择删除就是删除整个表
3、至于释放空间之类的在上面的语法后面的括号就可以看到了