oracle: 数据操纵语言DML/批量更新

SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。

sql分类:

DML基本语法

DML是"Data Manipulation Language"的缩写, 即数据操纵语言

用于对数据库中的数据进行插入、更新、删除(即增删改)等操作

批量更新

目标表: 需要更新数据的表

源表: 包含用于更新目标表的新数据。源表可以是数据库中的另一个表,也可以是临时表、视图或子查询的结果集。

全删全插

删除目标表中的所有数据,然后重新插入新数据 。这种方法适用于当新数据集与旧数据集没有交集或交集很小 的情况。全删全插可以确保数据的一致性,但可能会暂时影响数据的可用性。使用TRUNCATE TABLE语句可以快速删除表中的所有行,但不删除表本身

步骤: 清空目标表的数据>>从源表中把数据插入目标表

示例中, emp_b是目标表,emp是源表

增量更新/增量累全 merge into

只更新或插入变化的数据,而不是整个数据集 。这种方法适用于当新数据集与旧数据集有较大交集或频繁更新的情况。增量更新可以减少数据传输量和处理时间,提高效率。

示例

相关推荐
SimonKing2 分钟前
Mybatis批量插入,形式不同性能也不同
数据库·后端·程序员
最初的↘那颗心5 分钟前
Flink Stream API 源码走读 - window 和 sum
大数据·hadoop·flink·源码·实时计算·窗口函数
杰克尼1 小时前
MYSQL-175. 组合两个表
数据库·mysql
DemonAvenger1 小时前
MySQL索引原理深度解析与优化策略实战
数据库·mysql·性能优化
189228048612 小时前
NY270NY273美光固态闪存NY277NY287
服务器·网络·数据库·科技·性能优化
Yusei_05232 小时前
迅速掌握Git通用指令
大数据·git·elasticsearch
星霜笔记5 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
一只栖枝8 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
wyiyiyi11 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
天宇_任11 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb