java关系数据库基础的,数据库表数据删除两种语法的区别是什么

java关系数据库基础的,数据库表数据删除两种语法的区别是什么,第1张

数据库删除语句的分别介绍:

Delete:用于删除表中的行(注:可以删除某一行;也可以在不删除表的情况下(即意味着表的结构、属性、索引完整)删除所有行)

语法:删除某一行:Delete

From

表名称

Where

列名称=值

删除所有行:

Delete

From

表名称

Delete

*

From

表名称

Drop:用于删除表(注:将表的结构、属性、索引也会被删除。)

语法:Drop

Table

表名称

Truncate:用于删除表内的数据(注:仅删除表内的数据,不删除表本身,相当于Delete语句不写Where子句一样)

语法:Truncate

Table

表名称

数据库中删除语句的相同点和不同点的比较:

相同点:

1.truncate和不带where子句的delete,以及drop都能删除表内的数据

2.truncate和delete只删除表数据保留表结构

不同点:

1.

truncate

table

tablename

删除表内容释放表空间保留表结构(即:只删除表内的数据,不删除表本身。相当于Delete语句不写where子句一样),不使用事务处理即和事务无关

truncate

语句缺省情况下将空间释放到

minextents个

extent,

除非使用reuse

storage;truncate

会将高水线复位(回到最开始)。

2.

delete

table

tablename

[where子句]

delete属于数据 *** 作语言(DML),不能自动提交事务,需commit提交

这个 *** 作会放到

rollback

segement

中,事务提交之后才生效;

如果有相应的

trigger,执行的时候将被触发。

delete

语句不影响表所占用的

extent,高水线(high

watermark)保持原位置不动

3.

drop

table

tablename

drop属于数据定义语言(DDL)可以自动提交事务;

drop

语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)【删除表数据同时删除表结构】;

依赖于该表的存储过程/函数将保留,但是变为

invalid

状态。

drop

语句将表所占用的空间全部释放。

删除数据的速度,一般来说:

drop>

truncate

>

delete

使用场合:

当你不再需要该表时,

drop

当你仍要保留该表,但要删除所有记录时,

truncate

当你要删除部分记录时(always

with

a

where

clause),

delete.

注意:

对于有主外键关系的表,不能使用truncate而应该使用不带where子句的delete语句,由于truncate不记录在日志中,不能够激活触发器

下面是一些常用的SQL语句,虽然很基础,可是却很值得收藏,对于初学者非常实用

SQL常用命令使用方法:

(1) 数据记录筛选:

sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"

sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"

sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"

sql="select * from 数据表 where 字段名 between 值1 and 值2"

(2) 更新数据记录:

sql="update 数据表 set 字段名=字段值 where 条件表达式"

sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"

(3) 删除数据记录:

sql="delete from 数据表 where 条件表达式"

sql="delete from 数据表"  (将数据表所有记录删除)

(4) 添加数据记录:

sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"

sql="insert into 目标数据表 select * from 源数据表"  (把源数据表的记录添加到目标数据表)

(5) 数据记录统计函数:

AVG(字段名) 得出一个表格栏平均值

COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计

MAX(字段名) 取得一个表格栏最大的值

MIN(字段名) 取得一个表格栏最小的值

SUM(字段名) 把数据栏的值相加

引用以上函数的方法:

sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"

set rs=conn.excute(sql)

用 rs("别名") 获取统的计值,其它函数运用同上。

(5) 数据表的建立和删除:

CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 数据表名称 (永久性删除一个数据表)

4. 记录集对象的方法:

rs.movenext              将记录指针从当前的位置向下移一行

rs.moveprevious          将记录指针从当前的位置向上移一行

rs.movefirst             将记录指针移到数据表第一行

rs.movelast              将记录指针移到数据表最后一行

rs.absoluteposition=N    将记录指针移到数据表第N行

rs.absolutepage=N        将记录指针移到第N页的第一行

rs.pagesize=N            设置每页为N条记录

rs.pagecount             根据 pagesize 的设置返回总页数

rs.recordcount           返回记录总数

rs.bof                   返回记录指针是否超出数据表首端,true表示是,false为否

rs.eof                   返回记录指针是否超出数据表末端,true表示是,false为否

rs.delete                删除当前记录,但记录指针不会向下移动

rs.addnew                添加记录到数据表末端

rs.update                更新数据表记录

参考资料

SQL常用命令.csdn[引用时间2017-12-30]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10007084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存