开发者

Oracle数据的插入insert、更新update、删除delete、truncate举例详解

开发者 https://www.devze.com 2024-08-11 12:45 出处:网络 作者: 多sir
目录前言插入数据-insert单行插入所有列部分字段插入数据将表1数据插入到表2插入检索出的数据更新数据-update删除数据-delete & truncatedalete和truncate的主要区别附:oracle一次插入多条记录总结前言
目录
  • 前言
  • 插入数据-insert
    • 单行插入所有列
    • 部分字段插入数据
    • 将表1数据插入到表2
    • 插入检索出的数据
  • 更新数据-update
    • 删除数据-delete & truncate
      • dalete和truncate的主要区别
        • 附:oracle一次插入多条记录
          • 总结

            前言

            本文主要概述的内容是在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 into 表2 select * from 表1; --将表1的所有数据插入到表2中
            commit;
            
            insert into 表2 select * from 表1 where 条件;  --可以加筛选条件
            编程客栈commit;
            

            插入检索出的数据

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

            insert into 表1(字段1,
                            字段2,
                            字段3,
                             ……) 
              select 字段1,
                     字段2,
                编程     字段3,
                      ……
              from 表2
              [筛选条件……]
              
              commit;
            

            更新数据-update

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

            • 要更新的表;
            • 列名和它们的新值;
            • 确定要更新哪些行的过滤条件(很重要)
            • 要删除某个列的值,可设置它为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一次插入多条记录

            方式1:

            要向数据库中写入多条记录,记录集已经确定,如果一次一次插入势必影响效率。

            解决方法:

            Oracle数据的插入insert、更新update、删除delete、truncate举例详解

            注意:上面最后一个select之后没有union all,否则报错。

            方式2:

            Oracle数据的插入insert、更新update、删除delete、truncate举例详解

            总结

            到此这篇关于Oracle数据的插入insert、更新update、删除delete、truncate的文章就介绍到这了,更多相关Oracle数据插入更新删除内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持php编程客栈(www.devze.com)!

            0

            精彩评论

            暂无评论...
            验证码 换一张
            取 消

            关注公众号