- H2数据库教程
- H2数据库 - 首页
- H2数据库 - 简介
- H2数据库 - 安装
- H2数据库 - 数据操作
- H2数据库 - 选择
- H2数据库 - 插入
- H2数据库 - 更新
- H2数据库 - 删除
- H2数据库 - 备份
- H2数据库 - 调用
- H2数据库 - 解释
- H2数据库 - 合并
- H2数据库 - 显示
- H2数据库 - 数据定义
- H2数据库 - 创建
- H2数据库 - 修改
- H2数据库 - 删除
- H2数据库 - 截断
- H2数据库 - 提交
- H2数据库 - 授权
- H2数据库 - 保存点
- H2数据库 - 回滚
- H2数据库 - JDBC连接
- H2数据库有用资源
- H2数据库 - 快速指南
- H2数据库 - 有用资源
- H2数据库 - 讨论
H2数据库 - 合并
MERGE命令用于更新现有行并将新行插入表中。主键列在使用此命令时起着重要作用;它用于查找行。
语法
以下是MERGE命令的通用语法。
MERGE INTO tableName [ ( columnName [,...] ) ]
[ KEY ( columnName [,...] ) ]
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
在上述语法中,KEY子句用于指定主键列名。除了VALUES子句外,我们可以使用原始值进行插入,或者可以使用select命令检索并存储另一个表的值到此表中。
示例
在本例中,让我们尝试向Customers表中添加一条新记录。以下是表中新记录的详细信息。
| 列名 | 值 |
|---|---|
| ID | 8 |
| 姓名 | Lokesh |
| 年龄 | 32 |
| 地址 | 海德拉巴 |
| 薪资 | 2500 |
使用以下查询,让我们将给定的记录插入到H2数据库查询中。
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);
上述查询产生以下输出。
Update count: 1
让我们通过执行以下查询来验证Customer表的记录。
SELECT * FROM CUSTOMER;
上述查询产生以下输出。
| ID | 姓名 | 年龄 | 地址 | 薪资 |
|---|---|---|---|---|
| 1 | Ramesh | 32 | 艾哈迈达巴德 | 2000 |
| 2 | Khilan | 25 | 德里 | 1500 |
| 3 | Kaushik | 23 | 科塔 | 2000 |
| 4 | Chaitali | 25 | 孟买 | 6500 |
| 5 | Hardik | 27 | 博帕尔 | 8500 |
| 6 | Komal | 22 | 中央邦 | 4500 |
| 7 | Muffy | 24 | 因多尔 | 10000 |
| 8 | Lokesh | 32 | 海德拉巴 | 2500 |
现在让我们尝试使用Merge命令更新记录。以下是待更新记录的详细信息。
| 列名 | 值 |
|---|---|
| ID | 8 |
| 姓名 | Loki |
| 年龄 | 32 |
| 地址 | 海德拉巴 |
| 薪资 | 3000 |
使用以下查询将给定的记录插入到H2数据库查询中。
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);
上述查询产生以下输出。
Update count: 1
让我们通过执行以下查询来验证Customer表的记录。
SELECT * FROM CUSTOMER;
上述查询产生以下输出 -
| ID | 姓名 | 年龄 | 地址 | 薪资 |
|---|---|---|---|---|
| 1 | Ramesh | 32 | 艾哈迈达巴德 | 2000 |
| 2 | Khilan | 25 | 德里 | 1500 |
| 3 | Kaushik | 23 | 科塔 | 2000 |
| 4 | Chaitali | 25 | 孟买 | 6500 |
| 5 | Hardik | 27 | 博帕尔 | 8500 |
| 6 | Komal | 22 | 中央邦 | 4500 |
| 7 | Muffy | 24 | 因多尔 | 10000 |
| 8 | Loki | 32 | 海德拉巴 | 3000 |
广告