Oracle学习:数据的插入、修改和删除

DML :数据操作语言,对应增删改查

一、数据插入

insert 语句:insert into tablename[col1,„] values(val1,„);
(1)插入全部列:插入一行数据,对应 3 列的数据分别是 51, ‘51name’ , ‘51loc’

insert into dept values(51,'51name','51loc');

(2)插入部分列:插入一行数据,在 deptno, dname 插入值,55, ‘55name’ ,该行其他列值默认为空

insert into dept(deptno, dname) values(55, '55name'); 

(3)隐式插入 null

insert into dept(deptno,dname) values(52,'52name');

(4)显示插入 null

insert into dept(deptno,dname,loc) values(53,'53name',null); 

(5)&符号的使用

 insert into dept(deptno, dname, loc) values(&t1,&t2‟, &t3); // t1 是数值,t2 是字符串

(6)拷贝表结构

create table tname_YYYY_MM_DD as select * from tname_xxxxx 
where 1=2; // where 条件为假,之拷贝表结构,为真,拷贝表

(7)批量插入

 insert into tname_bak select * from tname where .....;

二、数据的修改

update tablename set 列 1=val1,2=val where 条件;

(1)修改 emp 表的员工名字为 TOM_CAT 的员工的薪水为原有薪水加 100

update emp set sal=sal+100 where ename='TOM_CAT'; 

(2)修改 emp 表的员工名字为 TOM_CAT 的员工的薪水为原有薪水加空

 update emp set sal=null where ename='TOM_CAT';

注意:在 update 的时候, null 可以使用等号;并且一定要使用 where 条件,否则会修改表中所有的记录

三、数据的删除

通用语句:

delete from tablename where 条件

在使用 delete 删除的时候,一定要有 where 条件, 否则会删除整个表的记录
delete 和 truncate 的区别:
(1)delete 逐条删除表"内容",其他不动,truncate 先摧毁表再重建。
(2)delete 可以闪回(flashback):做错了一个操作并且 commit 了,对应的撤销行为;truncate 不可以闪回。
(3)由于 delete 是逐条操作数据,所以 delete 会产生碎片,truncate 不会产生碎片。
(4)delete 不会释放空间,truncate 会释放空间。
(5)delete 可以回滚 rollback,truncate 不可以回滚 rollback。
(6)数据量非常大的时候,truncate 效率更高,但是不建议使用 truncate,因为会先摧毁表,所以过于危险.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值