Oracle——02表的基本操作+merge+truncate

简介:     (1)创建表的基本语法如下:   create table tableName(columnName dataType [default expression][column columnStraint],.

 

 

(1)创建表的基本语法如下:

 

	create table tableName(columnName dataType [default expression][column columnStraint],...n) [tablespace tableSpaceName]
 

(2)修改表的基本语法如下:

 

	alter table tableName
	[add(columnName dataType [default expression][column columnStraint],...n)] --添加列
	[modify(columnName [dataType][default expression][columnStraint],...n)] --修改列
	[drop drop_clause] --删除列或约束条件 drop column columnName
 

(3)删除表的语法:drop table tableName.

 

(4)在往表中插入记录时,如果需要插入某列的值为空,则值必须置为null,如果列值指定为该列的默认值,则用default。

 

(5)merge语句,使用该语句可以实现对表的更新或插入。语法格式如下:

 

	merge into tableName using tableName on(join_condition) when matched then update set...
		when not matched then insert(...) values(...)
 

这个语句的意思是把using表合并到into表,合并条件是on(condition),当条件满足时只能是更新into表中的对应的记录,当条件不满足时,则也只能是往into表里面添加对应的数据,而该数据中也只能使用using表中当前记录对应的数据。

示例如下:

假设有一个student表,那么以下语句就可以实现当a的id大于b的id的时候把所有student的年龄加2,否则就新增一条记录。

 

		merge into student a using student b on(a.id>b.id) when matched then update set age=age+2 when not matched then insert(id,name,age,sex,no) 
		values(b.id+100,b.name,b.age,b.sex,b.no);
 

(6)删除表记录之delete和truncate。

delete的语法格式如下:

delete from tableName [where condition] 

该语句的意思是删除tableName表中满足condition条件的记录,当condition省略时则删除表中所有记录。

truncate的语法格式如下:

truncate table tableName

该语句的意思是删除tableName表中的所有记录,使用truncate可以释放占用的数据块表空间。truncate删除是不能回滚的,而delete删除是可以回滚的。正因为如此使用truncate删除所有记录的速度比用delete删除所有记录的速度快。

目录
相关文章
|
4月前
|
Oracle 关系型数据库 数据库
Oracle中merge Into的用法
Oracle中merge Into的用法
|
12月前
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
109 0
|
4月前
|
Oracle 关系型数据库 数据库
Oracle查询优化-复制表的定义及数据
【1月更文挑战第5天】【1月更文挑战第14篇】在Oracle数据库中,复制表定义和复制表数据是两个常见的操作。
91 1
|
4月前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之oracle cdc 抽取新增一张表 可以从savepoint恢复吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL Oracle 关系型数据库
Oracle数据库基础教程:从安装到基本操作的全面介绍
Oracle数据库基础教程:从安装到基本操作的全面介绍
|
3月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之oracle无主键的表支持同步吗如何实现
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
31 3
|
3月前
|
Oracle 关系型数据库 数据库
oracle基本操作笔记分享
oracle基本操作笔记分享
32 0
|
4月前
|
资源调度 Oracle 关系型数据库
实时计算 Flink版产品使用合集之同步Oracle数据时,一张表产生了大量的连接数,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库误truncate table的数据恢复案例
北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表数据。 Oracle数据库执行Truncate命令的原理:在执行Truncate命令后ORACLE会在数据字典和Segment Header中更新表的Data Object ID,但不会修改实际数据部分的块。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE的记录,但是实际数据未被覆盖。
Oracle数据恢复—Oracle数据库误truncate table的数据恢复案例

推荐镜像

更多