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就用来删除不要的整个表(因为整个表的结构和数据都会被删除,慎用)。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐