头歌Kingbase ES添加、修改、删除数据

Kingbase ES数据操作指南

第2关:添加部分数据

任务描述
本关任务:在 TESTDB 数据库中向指定表中添加指定记录。

注意事项
由于实验环境具有自动初始化的功能,如果你不是在上一关做完的基础上做本关任务,你会发现实验环境中没有你之前建立好的库表。此时请你首先使用下面导入语句进行数据库还原,再继续做本关实验。

本次数据库导入指令:
sys_ctl start -l logfile 
ksql  -USYSTEM TEST
\i  /data/workspace/myshixun/step2/Initializing.sql
相关知识
INSERT INTO 语句
INSERT INTO 语句用于向表中插入新记录,INSERT INTO 语句有两种编写形式:

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO <表名称>
VALUES (值1,值2,值3,...);
第二种形式需要指定列名及被插入的值:

INSERT INTO <表名称>(列名1,列名2,列名3,...)
VALUES (值1,值2,值3,...);
注意:
  必须使用逗号将各个数据分开,字符型的数据需要用单引号括起来。当 INTO 子句中没有指定列名,则新添加的记录必须在每个属性列上均要有值,且 VALUES 子句中的排列顺序要和表中各属性列的排列顺序一致。当 INTO 子句中有指定列名,则 VALUES 子句的排列顺序要和指定列名相同。

编程要求
在 TESTDB 数据库中给教师表中,添加一条教师记录,其中教师编号 0250,姓名 任远,性别 男

测试说明
平台会对你编写的代码进行测试,结果正确即可通关。

开始你的任务吧,祝你成功!

INSERT INTO teacher(tno,tname,sex)
VALUES ('0250','任远','男');

第3关:添加多条记录

任务描述
本关任务:在 TESTDB 数据库中向指定表中添加多条记录。

注意事项
由于实验环境具有自动初始化的功能,如果你不是在上一关做完的基础上做本关任务,你会发现实验环境中没有你之前建立好的库表。此时请你首先使用下面导入语句进行数据库还原,再继续做本关实验。

本次数据库导入指令:
sys_ctl start -l logfile 
ksql  -USYSTEM TEST
\i  /data/workspace/myshixun/step3/Initializing.sql
相关知识
添加多条记录
有时候,需要一次向表中添加多条记录,同时添加多条记录的SQL语句:

第一种无需指定插入数据的列名,只需要提供插入的值即可
INSERT INTO <表名> VALUES
(值1, 值2, …),
(值1, 值2, …),
……
(值1, 值2, …);
第二种形式需要指定列名及被插入的值:
INSERT INTO <表名> ([列名],[列名],…) VALUES
(值1, 值2, …),
(值1, 值2, …),
……
(值1, 值2, …);
注意:
必须使用逗号将各个数据分开,字符型的数据需要用单引号括起来。当 INTO 子句中没有指定列名,则新添加的记录必须在每个属性列上均要有值,且 VALUES 子句中的排列顺序要和表中各属性列的排列顺序一致。当 INTO 子句中有指定列名,则 VALUES 子句的排列顺序要和指定列名相同。

编程要求
在 TESTDB 数据库中分别给教师表,班级表,课程表,教师授课表中添加多条记录。

teacher 表所需数据如下:

工号    姓名    性别    职称    出生日期
0014    李欣    男    教授    1969-07-25
0078    张云    女    副教授    1975-11-25
0118    王立    男    高级工程师    1985-04-28
0193    赵玲    女    讲师    1992-09-26
0213    杨梅    女    副教授    1986-06-07
0030    覃刚    男    副教授    1980-02-15
course 表所需数据如下:

课程号    课程名    学分    学时    考核方式
G001    线性代数    3    48    考试
R003    数据结构    3    48    考试
R009    离散数学    3    48    考试
S023    嵌入式系统与编程实验    1    32    考察
G012    大学物理    4    64    考试
class 表所需数据如下:

班级号    班级名    年级    学院    班级人数
0211801    软件18级1班    18级    软件    37
0211903    软件19级3班    19级    软件    35
0211705    软件17级5班    17级    软件    38
0131901    机械19级1班    19级    机械    37
teaching 表所需数据如下:

课程号    工号    班级号    开学日期    教室
G001    0078    0211903    1    A101
G001    0078    0131901    1    A101
R003    0118    0211801    2    S001
R009    0213    0211903    2    S002
S023    0193    0211801    1    S001
G012    0030    0131901    2    B003
测试说明
平台会对你编写的代码进行测试,结果正确即可通关。

开始你的任务吧,祝你成功!

---------- BEGIN ---------- 
INSERT INTO teacher VALUES
('0014', '李欣', '男','教授','1969-07-25'),
('0078', '张云', '女','副教授','1975-11-25'),
('0118', '王立', '男','高级工程师','1985-04-28'),
('0193', '赵玲', '女','讲师','1992-09-26'),
('0213', '杨梅', '女','副教授','1986-06-07'),
('0030', '覃刚', '男','副教授','1980-02-15');
INSERT INTO course VALUES
('G001','线性代数','3','48','考试'),
('R003','数据结构','3','48','考试'),
('R009','离散数学','3','48','考试'),
('S023','嵌入式系统与编程实验','1','32','考察'),
('G012','大学物理','4','64','考试');
INSERT INTO class VALUES
('0211801','软件18级1班','18级','软件','37'),
('0211903','软件19级3班','19级','软件','35'),
('0211705','软件17级5班','17级','软件','38'),
('0131901','机械19级1班','19级','机械','37');
INSERT INTO teaching VALUES
('G001','0078','0211903','1','A101'),
('G001','0078','0131901','1','A101'),
('R003','0118','0211801','2','S001'),
('R009','0213','0211903','2','S002'),
('S023','0193','0211801','1','S001'),
('G012','0030','0131901','2','B003');

---------- END ---------- 

第4关:修改数据

本关任务:在 TESTDB 数据库中修改指定数据。

注意事项
由于实验环境具有自动初始化的功能,如果你不是在上一关做完的基础上做本关任务,你会发现实验环境中没有你之前建立好的库表。此时请你首先使用下面导入语句进行数据库还原,再继续做本关实验。

本次数据库导入指令:
sys_ctl start -l logfile 
ksql  -USYSTEM TEST
\i  /data/workspace/myshixun/step5/Initializing.sql
相关知识
UPDATE 语句
在 KingbaseES 中,可以使用 UPDATE 语句来修改、更新一个或多个表的数据。
使用 UPDATE 语句修改单个表,语法格式为:

UPDATE <表名>
SET <列名>=<表达式> [,<列名>=<表达式>]…
[WHERE <条件>]
语法说明如下:

<表名>:用于指定要更新的表名称。
SET 子句:用于指定表中要修改的列名及其列值。其中,每个指定的列值可以是表达式,也可以是该列对应的默认值。如果指定的是默认值,可用关键字 DEFAULT 表示列值。
WHERE 子句:可选项。用于限定表中要修改的行。若不指定,则修改表中所有的行。
编程要求
大学物理课程的考核方式发生了改变,从原先“考试”改为“考察”,请修改课程表中对应的数据。
新学年开始,有 3 名同学转专业进入 软件学院19级3班,更新班级人数。
测试说明
平台会对你编写的代码进行测试,结果正确即可通关。

开始你的任务吧,祝你成功!

---------- BEGIN ---------- 
UPDATE course
SET examination='考察' 
WHERE cname='大学物理';
UPDATE class
SET gnum=gnum+3
WHERE gname='软件19级3班';

---------- END ---------- 

第5关:删除数据

任务描述
本关任务:在 TESTDB 数据库中修改指定数据。

注意事项
由于实验环境具有自动初始化的功能,如果你不是在上一关做完的基础上做本关任务,你会发现实验环境中没有你之前建立好的库表。此时请你首先使用下面导入语句进行数据库还原,再继续做本关实验。

本次数据库导入指令:
sys_ctl start -l logfile 
ksql  -USYSTEM TEST
\i  /data/workspace/myshixun/step6/Initializing.sql

相关知识
DELETE语句
在 KingbaseES 中,可以使用 DELETE 语句可以删除表中的一行或多行记录,其语法格式为:

 DELETE
 FROM <表名>
 [WHERE <条件>]
<表名>:用于指定删除数据的表。
WHERE 子句:指定待删除的记录应当满足的条件,WHERE 子句省略时,则删除表中所有记录。
编程要求
新学年开始,17级班级已毕业,从班级表中删除17级班级的信息。

测试说明
平台会对你编写的代码进行测试,结果正确即可通关。

---------- BEGIN ---------- 
DELETE
FROM class
WHERE grade='17级';

---------- END ---------- 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值