‘壹’ 计算机二级VF中,用sql语句插入、删除的时候,看教程是inse和dele,是insert和delete可以简写成这样吗
只有在VF里面可以简写,标准SQL是不允许简写的。
这写关键字不区分大小写。
‘贰’ sql truncate和delelte的区别
再来个drop一起比较吧,更容易说明问题。
相同点:
1.truncate和不带where子句的delete、以及drop都会删除表内的数据。
2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交。
不同点:
1. truncate 和 delete 只删除数据不删除表的结构(定义)
drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。
2. delete 语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。
truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。
3.delete 语句不影响表所占用的 extent,高水线(high watermark)保持原位置不动
drop 语句将表所占用的空间全部释放。
truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;truncate 会将高水线复位(回到最开始)。
4.速度,一般来说: drop> truncate > delete
5.安全性:小心使用 drop 和 truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用 delete,注意带上where子句. 回滚段要足够大.
想删除表,当然用 drop
想保留表而将所有数据删除,如果和事务无关,用truncate即可。如果和事务有关,或者想触发trigger,还是用delete。
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。
6.delete是DML语句,不会自动提交。drop/truncate都是DDL语句,执行后会自动提交。
7、TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
8、TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。
9、对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。
10、TRUNCATE TABLE 不能用于参与了索引视图的表。
‘叁’ DELETE属于SQl语句吗
Delete from 表名
是SQL语句,也是T-SQL
‘肆’ 问个sql语句
一般都是你这个思路,不存在最笨的方法,其它实现其实也是一样的道理。
有一个小的建议,就是不用两个字段来记得谁删除了,这样会比较浪费空间。可以使用一个tinyint类型的dele字段,值为0~3,默认为3(二进制11)表示都没有删除,2(二进制10)表示接收方已删除(接收方显示清单就不显示),1(二进制01)表示发送方已删除,0(二进制00)表示双方都已经删除。这样显示清单的时候比较简单:
String sql = "select * from letter where style=1 and (recipient=? and dele in (1,3) or sender=? and dele in (2,3))";
此外数据库设计还有两个建议:
一、 PRIMARY KEY (`style`)是不对的,这只能建立重复索引,不能作为主键,对于你这样的表应该额外建立一个序列字段作为主键。
二、接收方、发送方姓名字段最后改为UID字段,另外的用户名表里面有UID和用户名,这样可以支持用户改名,而且邮件数据表占用的空间也能大幅度减少。
‘伍’ delete sql语句有哪些
delete SQL语句:
1、DELETE FROM <table/view> WHERE <condition>,用于删除表中的某行或整个数据表中的数据。
2、DELETE FROM table_name,用于删除所有行。可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整。
3、DELETE FROM Person WHERE LastName = 'Wilson',用于删除某个行列。
(5)sql可以用dele语句吗扩展阅读:
C++中的Delete
new/ delete 的使用(仅限于c++,注意,new、delete不是函数而是操作符!注意与c中的malloc和free区分)编程的时候经常要用到堆内存的分配,通常使用的操作符是new,这个时候就必然要用到delete去释放申请的内存空间。
此时至少要遵循以下原则:
(1)new和delete是成对出现的。只出现一个是错误的或不规范的写法,即使能编译通过,也会有安全隐患;
(2)使用的new与delete要相同。也就是说如果你在 new表达式中使用了 [],必须在对应的 delete 表达式中使用 []。如果在new 表达式中没有使用 [],你也不必在对应的 delete 表达式中使用 []。
‘陆’ SQL 中delete语句可以删除表么
sql中delete语句不能删除表,只能删除表中的所有行数据。
delete from 表名
想要彻底删除表,可以用drop语句。
drop 表名
拓展资料:
drop,delete区别
1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。
2、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存, 以便进行进行回滚操作。
3、执行速度,一般来说: drop> delete。
4、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。
‘柒’ SQL可以使用 TOP 子句限制 DELETE 语句中删除的行数吗
delete
from
table1
where
主键
in(select
top
3
主键
from
table1)
再看看别人怎么说的。
‘捌’ sql 删除语句
1、delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存
语法:DELETE FROM 表名称 WHERE 列名称 = 值,
如:删除student表中姓名为张三丰的学生信息-delete from studentwhere name=‘张三丰’;
2、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。
3、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。
注意:truncate 不能删除行数据,要删就要把表清空。
(8)sql可以用dele语句吗扩展阅读:
数据库操作中,经常要用到删除表和删除表数据,在实际应用中,三者的区别是明确的。
当你不再需要该表时, 用 drop;
当你仍要保留该表,但要删除所有记录时, 用 truncate;
当你要删除部分记录时(always with a WHERE clause), 用 delete。
truncate 与delete 比较:
1、truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。
2、truncate 比 delete速度快,且使用的系统和事务日志资源少。
3、truncate 操作后的表比Delete操作后的表要快得多。
‘玖’ SQL的函数中能用DDL语句吗
PL/SQL中是可以使用的,两种方法:
1 本地动态SQL
使用EXECUTE IMMEDIATE语句来实现
2 使用DBMS_SQL包
使用DBMS_SQL包实现动态SQL的步骤如下:A、先将要执行的SQL语句或一个语句块放到一个字符串变量中。B、使用DBMS_SQL包的parse过程来分析该字符串。C、使用DBMS_SQL包的bind_variable过程来绑定变量。D、使用DBMS_SQL包的execute函数来执行语句。