1、insert select
在这次项目中新添了公司表,这个表初始数据得从员工表中获取。但是在insert select时有个问题,公司表中存在员工表里没有的字段,同时这个字段不能为空。
在这里发现了insert select的新用法,如下:
insert into md_corp_info m (corp_info_id,corp_name,corp_status
,creator,gmt_create,modifier,gmt_modified)
select t.corp_id,t.corp_name,0
,t.user_id,t.gmt_create,t.modifier,sysdate
from md_udb_info t where t.is_admin='y'
md_udb_info中并没有corp_status字段,所以在select的时候可以设置一个默认值
2、删除重复数据
在员工表里面存在一些重复的公司id,且公司名又不同。select出来再插入公司表会出现corp_id冲突。所以得把员工表进行优化,删除重复数据(这是开发库,数据比较混乱)
在这里使用count与rowid结合实现
delete from md_udb_info
where
/*获取在多个记录中存在的的corp_id*/
corp_id in (select corp_id from md_udb_info group by corp_id having count(corp_id) > 1 )
/*去除行号最小的一个*/
and rowid not in (select min(rowid) from md_udb_info group by corp_id having count(corp_id)>1)
3、删除表
由于与DB交流有误,后来在公司表中新添了一个字段。开发库中的数据得全部删除再重新导入
删除一个表的所有数据(PS:是表中数据,而不是表),可以使用truncate
truncate table 表名
truncate作用与不带where的delete语句相同,但是它的速度更快而且占资源少
PS:
但是要特别注意的是,delete是dml(数据操纵语言),操作会被放到rollback segement中,有trigger的话也会被触发,而truncate是ddl(数据定义语言),立即执行,不能回滚,也不会触发trigger。所以没有备份的话用truncate要特别小心
分享到:
相关推荐
实验中,学生将学习使用 Insert 语句进行数据插入、Delete 语句删除数据、TRUNCATE TABLE 语句清空表数据、Update 语句修改数据。 1. 数据插入操作 在实验中,学生将学习使用 Insert 语句插入数据,包括单记录插入...
ORACLE 删除重复数据 在 ORACLE 数据库中,删除重复数据是一项常见的操作。重复数据的存在可能会导致数据不一致、查询效率下降等问题。今天,我们将介绍三种删除重复数据的方法,并对每种方法的执行时间进行比较。 ...
在Oracle数据库中,`TRUNCATE TABLE`命令用于删除表中的所有数据,但它与`DELETE`语句有所不同。`TRUNCATE`操作是DDL(Data Definition Language)的一部分,而`DELETE`是DML(Data Manipulation Language)。由于`...
在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...
### 如何删除表中重复数据 在数据库管理与维护的过程中,经常会遇到表中存在重复记录的问题,这不仅会造成数据冗余、浪费存储空间,还可能导致数据分析结果失真。因此,了解如何有效地删除表中的重复数据是一项重要...
TRUNCATE 语句也可以删除数据行,但是它将删除整个表的所有数据,例如:`TRUNCATE TABLE Students`。 查询数据 SELECT 语句用于查询数据库表中的数据。基本语法为:`SELECT <列名> FROM <表名> [WHERE <查询条件...
在Oracle数据库中,删除重复数据是一项常见的数据清洗任务,尤其当表设计不当时,重复数据可能导致数据不一致和分析错误。以下将详细解释如何在Oracle中处理这两种类型的重复数据问题:部分字段重复和完全重复记录。...
oracle 删除重复数据的几种方法 在 Oracle 中,删除重复的数据是一种常见的操作。delete 操作可以用来删除重复的数据,但是需要根据实际情况选择合适的方法。下面将介绍四种删除重复数据的方法,每种方法都有其优...
### 如何高效删除Oracle数据库中的重复数据 在Oracle数据库管理中,经常会出现因各种原因导致的数据重复问题。这些重复数据不仅占用存储空间、降低查询效率,还可能导致数据分析时出现错误的结果。因此,学会如何...
Oracle 数据库删除数据 Delete 语句和 Truncate 语句的对比 Delete 语句和 Truncate 语句是 Oracle 数据库中两种常用的删除数据的方法,但是它们之间存在着明显的差异。 一、Delete 语句 Delete 语句是一种 DML...
- TRUNCATE TABLE:清空数据表的所有记录,但保留表结构。 3. **ABAP的数据表视图**: - 选择视图:基于一个或多个表创建逻辑视图,用于简化复杂的查询。 - 定义视图:静态定义,不能动态改变。 - 动态视图:...
2. **使用`INSERT SELECT`语句将现有表中的数据添加到已有的新表中** 语法:`INSERT INTO <已有的新表> (列名) SELECT <原表列名> FROM <原表名>` 示例:`INSERT INTO tongxunlu (姓名, 地址, 电子邮件) SELECT ...
在本实验训练中,主要涉及的是关系型数据库管理系统MySQL中的数据操作,包括数据的增加(Insert)、删除(Delete)和修改(Update),这些都是数据库管理的基础且重要的操作。实验旨在加深对这些SQL语句的理解和应用...
例如,在 autoparts 表中,用户可以使用以下命令批量追加数据:Insert into autoparts select * from autoparts copy 11;该命令将 autoparts 表中的数据批量增加 11 条。 实验 3-2 数据删除: 在实验 3-2 中,用户...
### Oracle 下删除重复数据的方法及分析 #### 一、部分字段重复数据的处理 ##### 查询重复数据 在Oracle数据库中,经常会遇到表中存在部分字段重复的情况。为了找到这些重复的记录,我们可以使用以下SQL语句: `...
### Oracle查询重复数据与删除重复记录方法 在Oracle数据库中,有时我们需要找出并处理重复的数据。这不仅可以提高数据质量,还能提升查询效率。本文将详细介绍几种常用的查询和删除Oracle数据库中重复记录的方法。...
语法:insert into <已有的新表> <列名> select <原表列名> from <原表名> 例:insert into addressList ('姓名','地址','电子邮件')select name,address,email from Students 注意:查询得到的数据个数、顺序、...
在 TOAD 这样的数据库管理工具中,你可以编写如下 SQL 语句来删除 Schema 名称下的表中的所有数据: ```sql DELETE FROM Schema 名.表名; ``` 随后,你需要提交(COMMIT)这个事务,以确保更改被永久保存: ```...
* 插入数据:Insert [into] 表名 (列名 1,列名 2….) values(值 1,值 2….); * 插入数据:Insert [into] 表名 values(值 1,值 2….); * 修改表数据:Update 表名 set 列名=值; * 修改表数据:Update 表名 set ...
- **使用TruncateTable删除数据** - **语法**: `Truncate Table 表名` - **示例**: `Truncate Table Students` #### 查询数据 - **基本语法**: `Select 列名 From 表名 where 查询条件表达式 Order by 排序的...