openGauss开源数据库实战十九

news2024/12/27 7:29:28

文章目录

  • 任务十九 openGauss DML 语句测试
    • 任务目标
    • 实施步骤
      • 一、准备工作
      • 二、INSERT语句
      • 三、DELETE语句
      • 四、UPDATE语句
      • 五、清理工作

任务十九 openGauss DML 语句测试

任务目标

掌握DML语句的用法,包括INSERT语句、DELETE语句和UPDATE语句。

实施步骤

一、准备工作

使用Linux用户omm,打开一个Linux终端窗口,执行如下的命令,创建一个测试表:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
DROP TABLE IF EXISTS test;
CREATE TABLE test(  id  int primary key,
                  name varchar(200) not null,
                  age int default 20,
                  salary int );

二、INSERT语句

执行下面的INSERT语句,这些INSERT语句都可以成功执行:

--  为一行的所有列都提供值
INSERT INTO test VALUES(1,'Hello!',21,5000);
--  一次插入多行,为一行的所有列都提供值
INSERT INTO test VALUES(2,'Hello!2',22,6000), (3,'Hello!3',20,7000);
--  插入一行,为插入的行只提供部分列的值
INSERT INTO test(id,name,salary) VALUES(4,'Hello!4',8000);
INSERT INTO test(id,name) VALUES(5,'Hello!5');
SELECT * FROM TEST;

执行下面的INSERT语句,这些INSERT语句违反数据库约束,无法成功执行:

--  违反主键约束,无法插入
INSERT INTO test VALUES(5,'Hello!6',21,10000);
--  违反非空约束,无法插入
INSERT INTO test(id,age)  VALUES(5,21);

在这里插入图片描述

三、DELETE语句

执行下面的命令,设置gsql的事务管理为手动提交:

\set AUTOCOMMIT off

执行下面的命令,查看目前表test中的数据:

select * from test;

执行下面的命令,删除id=2的行:

delete from test where id=2;
select * from test;

执行下面的命令,删除age=21的行:

delete from test where age=21;
select * from test;

执行下面的命令,删除表test中所有的行:

delete from test;
select * from test;

如果DELETE语句没有WHERE子句,将删除表的所有行。这一点请读者在使用DELETE语句完成工作的时候,要特别注意。
执行下面的命令,回滚上面的所有操作,恢复表test中的所有数据行:

rollback;
select * from test;
\q

在这里插入图片描述

四、UPDATE语句

使用Linux用户omm,打开一个Linux终端窗口,执行如下的命令,将事务管理设置为手动提交,并查看表test中的数据:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
\set AUTOCOMMIT off
select * from test;

执行下面的UPDATE语句,将id=3的行中的salary更新为8800:

update test set salary=8800 where id=3;
select * from test;

执行下面的UPDATE语句,将所有行的salary列的值增加10%:

update test set salary=salary*1.1;
select * from test;

五、清理工作

执行下面的语句,完成数据清理工作:

DROP TABLE IF EXISTS test;
\q

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2254304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

400G智算网络助力知名自动驾驶企业算力训练提效

根据Gartner的最新趋势预测,自动驾驶技术正迅速发展,预计在未来几年内将带来显著的商业效益,特别是在决策智能和边缘人工智能领域。目前,一家领军企业正积极拥抱基于大模型的数字化转型之路,作为自动驾驶领域的佼佼者&…

openEuler 知:安装 GNOME 桌面

openEuler 标准版 ISO 镜像默认不带桌面安装方式,可以先用最小化方式安装系统,然后单独安装 GNOME 组来实现桌面化 dnf group install GNOME -y安装完后,将 systemd 默认 target 设置为 graphical.target systemctl set-default graphical.…

《ODIN: A Single Model for 2D and 3D Segmentation》CVPR2024

斯坦福和微软: 代码链接:ODIN: A Single Model For 2D and 3D Perception 论文链接:2401.02416 摘要 这篇论文介绍了ODIN(Omni-Dimensional INstance segmentation),一个能够同时处理2D RGB图像和3D点云…

多行为推荐-KBS 24|基于HyperGRU对比网络的短视频推荐多行为序列建模

论文:https://www.sciencedirect.com/science/article/abs/pii/S0950705124004751?via%3Dihub 关键词:短视频推荐,多行为推荐,对比学习,RNN 1 动机 这是我第一次看短视频推荐里涉及到多行为的论文,动机还…

企业网双核心交换机实现冗余和负载均衡(MSTP+VRRP)

MSTP(多生成树协议) 通过创建多个VLAN实例,将原有的STP、RSTP升级,避免单一VLAN阻塞后导致带宽的浪费,通过将VLAN数据与实例绑定,有效提升网络速率。 VRRP(虚拟路由冗余协议) 用…

图解RabbitMQ七种工作模式生产者消费者模型的补充

文章目录 1.消费者模型2.生产者-消费者模型注意事项2.1资源释放顺序问题2.2消费者的声明问题2.3虚拟机和用户的权限问题 3.七种工作模式3.1简单模式3.2工作模式3.3发布/订阅模式3.4路由模式3.5通配符模式3.6RPC通信3.7发布确认 1.消费者模型 之前学习的这个消息队列的快速上手…

制造业管理系统中ERP与MES的区别

在当今工业4.0的背景下,数字化管理已成为现代工厂不可或缺的一部分。在这一进程中,企业资源计划(ERP)系统和制造执行系统(MES)扮演着关键角色。尽管如此,许多工厂的管理者对于ERP和MES的理解仍存…

面向初学者的 Ansys Mechanical 中的接触建模

接触概述 Ansys Mechanical 中的接触建模是仿真结构不同部分在各种条件下如何相互作用的关键方面。它涉及定义表面的接触方式,即它们是接触、滑动还是分离。Ansys Mechanical 提供了广泛的接触选项来准确建模这些交互,包括粘合、摩擦和无分离接触。每个…

【C++指南】C++内存管理 深度解析

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《C指南》 期待您的关注 目录 引言 一、C 内存管理概述 二、C内存区域划分 三、C 内存管理方式 🍃1.自动内存管理…

聚类算法全面解析:理论与实践结合

聚类(Clustering)是数据挖掘和机器学习中一类重要的无监督学习方法,旨在将数据划分为多个类别,使得类别内部的数据相似度高,而类别之间的数据差异较大。聚类广泛应用于图像分割、市场分析、生物信息学、文本挖掘等领域…

Python 批量剪辑视频片头片尾工具

Python 批量剪辑视频片头片尾工具 1.简介: 批量剪辑片头片尾的软件,让你的视频创作事半功倍,视频剪辑处理完成后,用户可以在指定文件夹中查看已经剪切完片头片尾的视频‌。这些工具不仅适用于个人用户进行日常的视频编辑工作&am…

大模型分类1—按应用类型

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl根据应用领域,大模型可分为自然语言处理、计算机视觉和多模态大模型。 1. 自然语言处理大模型(NLP) 1.1 应用领域与技术架构 自然语言处理大模型(NLP)的应用领域广泛,包括但不限于文本分类、…

保姆级教程用vite创建vue3项目并初始化添加PrimeVue UI踩坑实录

文章目录 一、什么是PrimeVue二、详细教程1.添加PrimeVue2.配置main.js3.添加自动引入4.配置vite.config.js5.创建测试页面 一、什么是PrimeVue PrimeVue 是一个用于 Vue.js 3.x 开发的一款高质量、广受欢迎的 Web UI 组件库。 官网地址:https://primevue.org/ 二、…

Go的Gin比java的Springboot更加的开箱即用?

前言 隔壁组的云计算零零后女同事,后文简称 云女士 ,非说 Go 的 Gin 框架比 Springboot 更加的开箱即用,我心想在 Java 里面 Springboot 已经打遍天下无敌手,这份底蕴岂是 Gin 能比。 但是云女士突出一个执拗,非我要…

php 系统函数 记录

PHP intval() 函数 PHP函数介绍—array_key_exists(): 检查数组中是否存在特定键名 如何使用PHP中的parse_url函数解析URL PHP is_array()函数详解,PHP判断是否为数组 PHP函数介绍:in_array()函数 strpos定义和用法 strpos() 函数查找字符串在另一字符串…

关于Chrome自动同步书签的解决办法

前言 并不一定适用所有用户, 目前我在网上搜集了一些资料,也做了一些尝试。 就我个人总结的经验来讲,分享大家以下几种办法: 1.书签同步插件 点击如下🔗: Chrome书签同步https://bm.famend.cn/ …

matrixzq:基于ℤq的纯python矩阵库

1. 引言 当希望使用纯 Python 代码对整数 q 模矩阵进行操作,以演示使用学习误差 (Learning-With-Errors,LWE) 的基于格的加密方案的一些原理时,找到了 Thom Ives 编写的优秀代码“纯 Python 中无需 Numpy 或 Scipy 的 BASIC 线性代数工具”&…

深度学习笔记——模型压缩和优化技术(蒸馏、剪枝、量化)

本文详细介绍模型训练完成后的压缩和优化技术:蒸馏、剪枝、量化。 文章目录 1. 知识蒸馏 (Knowledge Distillation)基本概念工作流程关键技术类型应用场景优势与挑战优势挑战 总结 2. 权重剪枝 (Model Pruning)基本原理二分类1. 非结构化剪枝(Unstructur…

【单片机】ESP32-S3+多TMC2209控制步进电机系列1 UART通信及无传感回零 硬件部分

目录 1. 硬件选型1.1 esp32硬件型号1.2 TMC2209 硬件型号 2 原理接线图2.1 esp32接线2.2 TMC2209接线2.2.1 单向通讯 不配置地址2.2.2 单向通讯 配置地址2.2.3 双向通讯 单UART 【本文采用】2.2.4 双向通讯 多UART 3. 成品效果 1. 硬件选型 1.1 esp32硬件型号 采用的是微雪ES…

【论文复刻】雾霾污染及ZF治理与经济高质量发展(2004-2020年)

一、数据来源: PM2.5数据根据美国哥伦比亚大学社会经济数据与应用中心提供的全球PM2.5的年均浓度数据整理计算而得,人均实际GDP是以2000年为基期进行平减处理获得的实际GDP,控制变量来自《中国城市统计年鉴》、国家统计局,内含原…