Oracle-10-对表中数据进行增删改查

一、插入数据操作

当往一个表中添加一行新的数据时,需要使用DML语言中的insert语句,其语法格式如下:

insert into 表名 [(列名,列名…)] values (数值,数值…)

 

例:往A表中插入一行新的数据

insert into A (id,name) values (1003,’王麻子’)

实战操作:


 

二、子查询插入数据

语法格式:

create table 表名 [(列名,列名…)]as 子查询

可通俗理解为将A表数据复制到B表。

例:create table B (id,name)as select id,name from A

 

三、更新数据操作

一般分为以下几种:

1.一般更新数据;

如果要对数据库中某一行或是多行更新数据,可以使用UPDATE语句。

其语法格式如下:

update 表名 set 列名=数值 [,列名=数值] [where 条件]

其中[where条件]是筛选出该表的某一行或某几行数据,进行更新,如果不加[where条件],则是将该表的指定列中所有数据更新成同一个值。

例:update A set name = ‘张三’,age = ‘23’

 

实战操作:


发现不写[where条件],会将指定列的所有数据更新成同样的值。

 

实战操作2:

利用[where条件]更新A表数据,如下图:


发现对于where id=’1000’这个筛选条件,A表两行都满足,那么还是更新两行,现在希望对于两行一模一样的数据,只更新第一行,怎么做?稍微拓展一下,用select rownum n,id,name from A;命令查看A表信息,然后用where rownum=1来约束只更新第一行数据,如下图:


所以以上是只更新第一行中的name列数据。

 

2.基于一个表来更新数据(后续会详细学习);

3.利用多列子查询来更新数据(后续会详细学习)。

 

三、删除数据操作

删除数据通过DELETE语句来完成,其

语法格式如下:

delete from 表名 [where 条件]

记得删除完毕要commit,否则数据没有被真正删除。

例:delete from A

 

实战操作:

Step1:删除A表第一行,如下图:


看上去好像原来第一行数据被删除,但是现在没有commit;

Step2:回滚一下,用rollback命令,如下图:


发现数据还是回来了。

 

实战操作2:

Step1:查询当前A表中的数据,如下图:


Step2: 删除第一行数据并用commit提交,如下图:


Step3:用rollback回滚,如下图:


Step4:查询现在A表中数据,如下图:


发现经过commit提交后,数据不可恢复。

 

【总结】

(1)用deletefrom A [where 条件]命令删除A表中数据时,如果没有commit提交,那么是可以rollback恢复,如果commit提交,是无法rollbakc恢复;

(2)如果删除数据后忘记commit,直接关闭cmd窗口,那么系统默认自动commit,也就是默认将删除的数据彻底清除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值