当前位置: 首页 > news >正文

openGauss开源数据库实战十九

文章目录

  • 任务十九 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.lryc.cn/news/497982.html

相关文章:

  • 恶补英语初级第18天,《询问他人的喜好(上)》
  • centos 报 ping: www.baidu.com: Name or service not known
  • Python:使用随机森林分类器进行模型评估:ROC 曲线与 AUC 指标计算
  • 数据库表约束完全指南:提升数据完整性和准确性
  • 【JavaEE】多线程(6)
  • BERT和RoBERTa;双向表示与单向的简单理解
  • Pytorch使用手册-计算机视觉迁移学习教程(专题十三)
  • Jackson - Java对象与JSON相互转换
  • 怎麼解決路由器IP地址衝突?
  • 趣味数学 2.3.7 | 完全免费,无注册登录,简约纯净
  • Oracle ASM特性介绍和增删盘操作
  • 深度优先搜索迷宫路径
  • 多媒体技术的 发展阶段----高中信息技术教资面试
  • 行为型设计模式之《责任链模式》实践
  • 中酱黑松露手工古法酱油,邂逅独特 “酱油红”
  • Java NIO channel
  • 智能交通(8)——腾讯开悟智能交通信号灯调度赛道
  • ip所属地址是什么意思?怎么改ip地址归属地
  • 攻防世界 ctf刷题 新手区1-10
  • Node做一个自动删除指定文件和文件夹工具
  • 陈若尧新歌《一来二去》陆续登陆全球音乐平台
  • 【Docker】针对开发环境、测试环境、生产环境如何编排?
  • 小程序项目的基本组成结构
  • 001-mysql安装
  • 预训练模型与ChatGPT:自然语言处理的革新与前景
  • 高通---Camera调试流程及常见问题分析
  • 【冷冻电镜】RELION5.0使用教程总结
  • 【Maven系列】深入解析 Maven 镜像配置
  • 优质翻译在美国电子游戏推广中的作用
  • 数据结构---栈(Stack)