首页 > 其他分享 >openGauss 更新表中数据

openGauss 更新表中数据

时间:2024-04-30 11:01:26浏览次数:17  
标签:customer SET 更新 sk 表中 openGauss WHERE

更新表中数据

修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行、所有行或者指定的部分行。还可以独立更新每个字段,而其他字段则不受影响。

使用UPDATE命令更新现有行,需要提供以下三种信息:

  • 表的名称和要更新的字段名
  • 字段的新值
  • 要更新哪些行

SQL通常不会为数据行提供唯一标识,因此无法直接声明需要更新哪一行。但是可以通过声明一个被更新的行必须满足的条件。只有在表里存在主键的时候,才可以通过主键指定一个独立的行。

建立表和插入数据的步骤请参考创建表向表中插入数据

需要将表customer_t1中c_customer_sk为9527的地域重新定义为9876:

openGauss=# UPDATE customer_t1 SET c_customer_sk = 9876 WHERE c_customer_sk = 9527;

这里的表名称也可以使用模式名修饰,否则会从默认的模式路径找到这个表。SET后面紧跟字段和新的字段值。新的字段值不仅可以是常量,也可以是变量表达式。

比如,把所有c_customer_sk的值增加100:

openGauss=# UPDATE customer_t1 SET c_customer_sk = c_customer_sk + 100;

在这里省略了WHERE子句,表示表中的所有行都要被更新。如果出现了WHERE子句,那么只有匹配其条件的行才会被更新。

在SET子句中的等号是一个赋值,而在WHERE子句中的等号是比较。WHERE条件不一定是相等测试,许多其他的操作符也可以使用。

用户可以在一个UPDATE命令中更新更多的字段,方法是在SET子句中列出更多赋值,比如:

openGauss=# UPDATE customer_t1 SET  c_customer_id = 'Admin', c_first_name = 'Local' WHERE c_customer_sk = 4421; 

批量更新或删除数据后,会在数据文件中产生大量的删除标记,查询过程中标记删除的数据也是需要扫描的。故多次批量更新/删除后,标记删除的数据量过大会严重影响查询的性能。建议在批量更新/删除业务会反复执行的场景下,定期执行VACUUM FULL以保持查询性能。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:customer,SET,更新,sk,表中,openGauss,WHERE
From: https://www.cnblogs.com/techbing/p/18167329

相关文章

  • openGauss 对比-磁盘与MOT
    对比:磁盘与MOT下表简要对比了基于openGauss磁盘的存储引擎和MOT存储引擎的各种特性。对比:基于磁盘与MOT特性openGauss磁盘存储openGaussMOT引擎英特尔x86+鲲鹏ARM是是SQL和功能集覆盖率100%98%纵向扩容(多核,NUMA)低效高效吞吐量高极高时......
  • openGauss 创建-删除MOT
    创建/删除MOT创建MOT非常简单。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。SELECT、DML和DDL的所有其他命令的语法对于MOT表和openGauss基于磁盘的表是一样的。创建MOT:createFOREIGNtabletest(xint)[servermot_server];以上语句中:始终使......
  • openGauss 删除表中数据
    删除表中数据在使用表的过程中,可能会需要删除已过期的数据,删除数据必须从表中整行的删除。SQL不能直接访问独立的行,只能通过声明被删除行匹配的条件进行。如果表中有一个主键,用户可以指定准确的行。用户可以删除匹配条件的一组行或者一次删除表中的所有行。使用DELETE命令删除......
  • openGauss 设置安全策略
    设置安全策略设置帐户安全策略设置帐号有效期设置密码安全策略详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 前提条件
    前提条件以下是使用openGaussMOT的软硬件前提条件。硬件支持MOT支持最新硬件和现有硬件平台,支持x86架构和华为鲲鹏Arm架构。MOT与openGauss数据库支持的硬件完全对齐。更多信息请参见《openGauss安装指南》。CPUMOT在多核服务器(扩容)上提供卓越的性能。在这些环境中,MOT的性......
  • openGauss 三权分立
    三权分立默认权限机制和管理员两节的描述基于的是数据库创建之初的默认情况。从前面的介绍可以看出,默认情况下拥有SYSADMIN属性的系统管理员,具备系统最高权限。在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立。将系统管理员的部分权限分立给......
  • openGauss 配置文件参考
    配置文件参考表1参数说明参数名称描述取值范围local表示这条记录只接受通过Unix域套接字进行的连接。没有这种类型的记录,就不允许Unix域套接字的连接。只有在从服务器本机使用gsql连接且在不指定-h参数的情况下,才是通过Unix域套接字连接。-host表示这条记......
  • openGauss 其他操作
    其他操作创建和管理schema创建和管理表创建和管理分区表创建和管理索引创建和管理视图创建和管理序列详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 配置客户端接入认证
    配置客户端接入认证背景信息如果主机需要远程连接数据库,必须在数据库系统的配置文件中增加此主机的信息,并且进行客户端接入认证。配置文件(默认名称为pg_hba.conf)存放在数据库的数据目录里。hba(host-basedauthentication)表示是基于主机的认证。本产品支持如下三种认证方式,这......
  • openGauss 内存表特性
    内存表特性MOT介绍使用MOTMOT的概念附录详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......