Oracle-数据的插入-insert、更新-update、删除-delete、truncate

前言

本文主要概述的内容是在Oracle中数据的插入-insert、更新-update、删除-delete、truncate。也会把工作当中可能用到的场景给总结出来,以方便大家需要时查询。

插入数据-insert

单行插入所有列

insert into 表名 values(1,2,3……);
insert into 表名 values(1,2,3……);
insert into 表名 values(1,2,3……);
commit;
……

注意:values值的顺序需要和表的字段顺序保持一致,如果没有具体值需用null填充,否则会报错(没有足够的值)。
执行一行,插入一条数据,若要拆入多行数据,则编辑好对应值,执行多行即可。

部分字段插入数据

工作中有时只想给表中的某几个字段插入值,或者插入所有列但忘记表中的字段顺序时,可以指定字段和对应的值来进行操作。

insert into 表名(字段1,字段2,字段3……)  values(1,2,3……);
commit;

将表1数据插入到表2

这个应用场景和数据备份相似,或者理解为数据的复制都可以,目的是要从一个表中筛选出来的数据复制到另一个表中。
注意:两个表的表结构必须保持一致

insert into2 select * from1; --将表1的所有数据插入到表2中
commit;

insert into2 select * from1 where 条件;  --可以加筛选条件
commit;

插入检索出的数据

此方式工作中也经常使用,可以理解为上述几种方式的结合。通过检索出另一张表的数据将值插入到具体指定的列。

insert into1(字段1,
                字段2,
                字段3,
                 ……) 
  select 字段1,
         字段2,
         字段3,
          ……
  from2
  [筛选条件……]
  
  commit;

更新数据-update

基本的UPDATE语句由三部分组成,分别是:

  • 要更新的表;
  • 列名和它们的新值;
  • 确定要更新哪些行的过滤条件(很重要)
  • 要删除某个列的值,可设置它为NULL(假如表定义允许NULL值)
--更新表中列的值
update 表名 
	set 字段1 =1, 
		字段2 =2,
		……
where 筛选条件;

--删除某列的值
update 表名 set 字段1 = NULL where 筛选条件;

删除数据-delete & truncate

从一个表中删除(去掉)数据,使用DELETE语句。有两种使用DELETE的方式:

  • 从表中删除特定的行
  • 从表中删除所有行

注意where子句很重要,因为稍不注意,就会错误地删除表中所有行。

DELETE删除整行而不是删除列。要删除指定的列,请使用 UPDATE 语句。

如果想从表中删除所有行,不要使用 DELETE。可使用 TRUNCATE 语句,它完成相同的工作,而速度更快(因为不记录数据的变动)。

--删除符合条件的某行/某几行数据
delete from 表名 where 筛选条件;  

--删除表中的所有行 
delete from 表名;  
truncate table 表名;  

dalete和truncate的主要区别

  • delete语句是一种DML(数据操作语言)语句,而truncate语句是一种DDL(数据定义语言)语句。这意味着delete语句是用于操作数据的,而truncate语句是用于操作表结构的。
  • delete语句可以使用where子句来指定删除的条件,而truncate语句不能使用where子句,只能整表删除。
  • delete删除数据时,会将每一行的数据都放入回滚段(rollback segment)中,以便在事务回滚时可以还原数据。而truncate并不会将数据放入回滚段中,无法回滚。
  • delete语句删除数据是逐行进行,对于大表来说,删除数据的效率相对较低。而truncate语句是直接删除整个表的数据,因此对于大表来说,删除数据的效率相对较高。

以上就是在Oracle中对数据的常用操作介绍。


感谢大家阅读查看,如有补充和建议,欢迎留言~期待关注、点赞、收藏😘

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle SQL语句学习可以分为几个分类:DML、DDL、DCL和TCL。DML包括select、deleteupdateinsert语句,用于对数据进行操作。DDL包括create table、truncate、drop和alter table语句,用于定义和管理数据库对象。DCL包括grant和revoke语句,用于数据库控制。TCL包括commit和rollback语句,用于事务控制。\[2\] 在编写SQL SELECT语句时,可以使用以下格式:SELECT *|{\[DISTINCT\] column|expression \[alias\],...} FROM table; 可以使用DISTINCT关键字去除重复行,使用alias给列或表达式起别名。可以使用比较条件关系符(如=、<>、>、<、>=、<=、!=、^=)来限制数据。还可以使用其他比较条件关系符,如between and、in(set)、like和is null。\[2\] 在编写SQL语句时,要注意字母大小写、是否添加注释等细微差别会导致语句具有不同的散列值,从而导致Oracle对语句进行硬解析。为了提高性能,应该使用绑定变量而不是常量。使用绑定变量时,即使改变了绑定变量的值,Oracle仍然可以共享这个语句,提高了查询的效率。\[3\] #### 引用[.reference_title] - *1* *3* [Oracle SQL学习](https://blog.csdn.net/xhw979850818/article/details/88142059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Oracle-SQL学习](https://blog.csdn.net/gundongdexueqiu/article/details/7055885)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值