还是拿excel举例吧,这样比较容易理解~~
比如表格中有一张人员信息表
一、对于整表而言 我们可以进行删除表操作
操作以后,整个工作表就会被删除,你也在这个表格文件中找不到这个表的任何信息
这个在数据库中 可以用
drop table 人员信息表;
这一段代码来实现,执行以后我们可以看到 city这张表在数据库中就被删除了
这种删除代表着删除这张表的所有信息,是彻底的删除。
二、有时候我们可能并不想删除这张表,只是想着删除其中的所有内容,但是这个表的框架还保留
在excel中,我们可以点击左上角的倒立三角,选中所有的数据后,右键选择清除内容 中的全部进行删除,删除后表名称还在,只是将数据进行清除,如果不选择字段名称的话,字段名称也会保留下来。
在数据库中,我们使用
truncate table 人员信息表;
这段代码来进行全表数据的清除,这样与上面的drop 相比,不会将表的框架,比如表名称,字段名进行删除。只是将表的数据删除
通过对比可以看到 表的信息还在数据库中,只是表中的数据变成了0行。
在工作中,如果是全量更新某张表,我们通常会先将表的数据truncate 然后在插入数据。
三、如果我们只是想删除某一部分数据
在excel中,我们可以通过筛选按钮,筛选出想要删除的数据,然后选中进行删除
这里可以输入各种条件,然后删除符合条件的数据
在数据库中,我们想要删除部分数据,需要使用
delete from city where b>1;
可以看到,数据库中b大于1的数据已经被删除。
工作中增量更新数据,通常在跑数之前会使用delete 语句,将要跑数的数句进行删除,然后再将新数据插入,这样是为了防止重跑数据的时候,插入重复的数据。
总结:今天我们介绍了三种数据的删除方式:
1.drop table 表
2.truncate table 表
3.delete from 表 where 条件
这三种方式用在不同的场合,delete 如果不加条件,也可以实现和truncate同样的效果,但是速度远远不如truncate 并且 高水位线也不会恢复。
这是针对行数据进行删除的操作,我们还有一种很少用到的操作就是针对某列数据进行删除,直接删除某一列。
直接删除某一列
ALTER TABLE 表名 DROP COLUMN 列名
在工作中,这种方法基本用不到,除非是上线的时候回滚脚本会写这个,因为这个字段如果你自己不用,别人正在用的话,你将他删除,下游的作业和数据就会报错,从而导致非常严重的后果。
今天就先聊到这里,好像前两次的课程号写的都是 SQL 第一讲,但是修改不了了,以后就按照顺序来写课程吧!
祝大家周末愉快~~
刚开始编写文章,很多地方都有不足,希望以后可以为大家贡献出更好的文章,谢谢大家!
ps:还没有讲解如何安装数据库软件,我会在公众号的菜单栏中添加了安装教程供大家安装,谢谢,碰到安装上的问题也可以给作者发消息或者留言~~
感觉还不错的话,点下在看鼓励一下作者吧