delete删除语句语法,linux 中 delete 删除表
大家好,今天来为大家分享delete删除语句语法的一些知识点,和linux 中 delete 删除表的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
delete语句怎么用
语法:DELETE [table.*] FROM table WHERE criteria
说明:table参数用于指定从其中删除记录的表的名称。
criteria参数为一个表达式,用于指定哪些记录应该被删除的表达式。
可以使用 Execute方法与一个 DROP语句从数据库中放弃整个表。不过,若用这种方法删除表,将会失去表的结构。不同的是当使用 DELETE,只有数据会被删除;表的结构以及表的所有属性仍然保留,例如字段属性及索引。
扩展资料:
如果需要在delete的时候,按照条件删除记录,那么可能会用到子查询。
但是如下情况:
delete from student where id=(select max(id) from student);
[Err] 1093- You can't specify target table'student' for update in FROM clause
解决办法是:给 from子句中的结果集起别名。
delete from student where id=(select n.max_id from(select max(id) as max_id from student) as n);
这个方法对in还是适用的
delete from student where id in(select id from student where id> 30);
[Err] 1093- You can't specify target table'student' for update in FROM clause
解决方法同上:
delete from student where id in(select n.id from(select id from student where id> 30) as n)
参考资料来源:百度百科-DELETE语句
delete语句
DELETE语句用于删除表中的行。
语法:DELETE [table.*] FROM table WHERE criteria
说明:
table参数用于指定从其中删除记录的表的名称。
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语句将表所占用的空间全部释放。
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操作后的表要快得多。
OK,本文到此结束,希望对大家有所帮助。