sql 删除语句


sql 删除语句

文章插图
1、delete 语句用于删除表中的行 。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存
语法:DELETE FROM 表名称 WHERE 列名称 = 值,
如:删除student表中姓名为张三丰的学生信息-delete from studentwhere name=‘张三丰’;
2、drop (删除表):删除内容和定义,释放空间 。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表 。
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index)依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid 。
3、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构) 。与drop不同的是,只是清空表数据而已 。
注意:truncate 不能删除行数据,要删就要把表清空 。
扩展资料:
数据库操作中,经常要用到删除表和删除表数据,在实际应用中,三者的区别是明确的 。
当你不再需要该表时, 用 drop
当你仍要保留该表,但要删除所有记录时, 用 truncate
当你要删除部分记录时(always with a WHERE clause), 用 delete 。
truncate 与delete 比较:
1、truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行 。
2、truncate 比 delete速度快,且使用的系统和事务日志资源少 。
3、truncate 操作后的表比Delete操作后的表要快得多 。
DELETE语句用于删除表中的行 。
语法:DELETE [table.*] FROM table WHERE criteria
说明:
table参数用于指定从其中删除记录的表的名称 。
【sql 删除语句】criteria参数为一个表达式,用于指定哪些记录应该被删除的表达式 。
DELETE语句可从列在FROM子句之中的一个或多个表中删除记录,且该子句满足WHERE子句中的条件,可以使用DELETE删除多个记录 。
DROP命令和DELETE命令的区别
1、从删除内容上区分
delete只删除数据不删除表的结构 。
drop语句将删除表的结构、被依赖的约束(constrain),触发器(trigger),索引(index),依赖于该表的存储过程/函数将保留,但是变为invalid状态 。
2、从语句类型上来区分
delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发 。
drop是ddl,操作立即生效,原数据不放到rollback segment中,不能回滚,操作不触发trigger 。
3、从对表空间的影响来区分
delete语句不影响表所占用的extent,高水线(high watermark)保持原位置不动 。
drop语句将表所占用的空间全部释放 。
电脑:WIN10
软件:3.2免费
软件:SQL DELETE
1、SQL DELETE语法如下:
DELETE FROM table_name
WHERE condition 。
2、比如我们要删除表3中人名是艾希的数据 。
3、那么我们可以稍微改下语句写成这样:
DELETE FROM表3
WHERE人名="艾希";然后运行,弹出对话框,我们点击确定即可 。
4、返回表3,我们可以看见第一行艾希的数据以及删掉 。
5、如果我们要删掉所有数据,那么就不需要使用WHERE,直接写成DELETE FROM表3 。
6、返回表3,我们可以看见所有数据都被删除了,但是表的结构并不会发生变化 。

    推荐阅读