sql中几种删除语句的比较和基础用法
sql中有三种删除语句
delete、drop、truncate
1.delete
基础用法:delete from table(表名) [where]
用法理解:用于删除有明确定义的数据或者整个表的数据。比如:id是唯一不可重复的,delete from Student where id=5,即把id=5的唯一的一条数据删除。
当然不一定只删除一条数据,如果有明确的范围也是可以删除的。 比如:你想删除名字是姓钟的数据,delete from Student where name like '钟%',即可删除名字是姓钟的全部数据。
这里有一点需要注意:用delete语句删除掉的数据,原本的被占用id并不会被删除。意思是你删除掉了id中1-10的数据,你再往里加数据,id就是从11开始。所以有些不太熟练数据库的入门者,就可能会看到id断断续续(1,5,7,8,11)排序,有可能是因为使用了detele删除了某些数据。
2.drop
基础用法:drop table + 表名称
drop database + 数据库名称
drop index + 索引名称
drop view + 视图名称 (*在不同数据库中写法不一定是一样的,具体需要用到哪种最好百度一下)
用法理解:只针对删除表来说,delete用于删除整个表的数据以及结构。即把整个表彻底删除,表中的数据和字段等等全部被删除。
3.truncate
基础用法:truncate table + 表名称
用法理解:删除表中的全部数据,包括占用的id也会全部清除。表结构不会改变,一般来说想重新往表中导入数据,就会用到这个方法。
*这个方法是不能删除单条数据的,只能全部删除。
用法建议:delete可以用来删除单条或多条数据(id依旧占用,这个是最常用的),但是删除整个表数据的话建议还是用truncate(因为id也会被清除,不过用这个时要考虑清楚是否整个表的数据你都要清空),drop就用来删除不要的整个表(因为整个表的结构和数据都会被删除,慎用)。
更多推荐
所有评论(0)