数据库系统原理实践-以openGauss为例(华中科技大学数据库头歌作业)——数据的插入、删除与修改(Insert,delete和update语句的练习)

最近在做社团冬令营布置的简单sql语句的练习,在学习语法的过程中偶然发现已经有习题的答案了。然而看了以后发现答案中存在错误,因此我将在博客中分享我的答案以供参考。

第1关:插入多条完整的客户信息

基本语法:

insert into table[(列1,列2,……)] value (值1,值2,……)

其中,table后中括号内内容可缺省。

-- 用insert语句向客户表(client)插入任务要求的3条数据:
INSERT INTO client 
(c_id,c_name,c_mail,c_id_card,c_phone,c_password) 
values 
(1, '林惠雯', '960323053@qq.com', '411014196712130323','15609032348','Mop5UPkl'),
(2, '吴婉瑜', '1613230826@gmail.com','420152196802131323','17605132307','QUTPhxgVNlXtMxN'),
(3, '蔡贞仪', '252323341@foxmail.com', '160347199005222323','17763232321','Bwe3gyhEErJ7');



/* end of you code */

第2关:插入不完整的客户信息

-- 已知33号客户部分信息如下:
-- c_id(编号):33
-- c_name(名称):蔡依婷
-- c_phone(电话):18820762130
-- c_id_card(身份证号):350972199204227621
-- c_password(密码):MKwEuc1sc6

-- 请用一条SQL语句将这名客户的信息插入到客户表(client):
INSERT INTO client (c_id,c_name,c_id_card,c_phone,c_password) 
values (33,'蔡依婷','350972199204227621','18820762130','MKwEuc1sc6');


/* the end of your code */ 

第3关:批量插入数据

基本语法:

insert into table1[(列1,列2,……)] select [(列1,列2,……)] from table2

即用table2的列更新table1内容。

  -- 已知表new_client保存了一批新客户信息,该表与client表结构完全相同。请用一条SQL语句将new_client表的全部客户信息插入到客户表(client):
insert into client select * from new_client;



/* the end of your code */

第4关:删除没有银行卡的客户信息

从bank_card表中选出不存在的b_c_id并删除,利用not exists语句和子查询。

-- 请用一条SQL语句删除client表中没有银行卡的客户信息:
delete from client where not exists (select b_c_id from bank_card where b_c_id = c_id);



/* the end of your code */ 

第5关:冻结客户资产

基本语法:

update table set column = status where statement;

本题中用子查询在client中找到目标手机号码对应的人员编号,在property表中对应地更新内容。

-- 请用一条update语句将手机号码为“13686431238”的这位客户的投资资产(理财、保险与基金)的状态置为“冻结”。:
update property set pro_status = '冻结' 
where pro_c_id in (select c_id from client where c_phone = 13686431238);



/* the end of your code */

第6关:连接更新

基本语法:

update table1 set column1 = table2.column1 from table2 
where table1.column2 = table2.column2;

通过两个表的主码和外码列进行对应,用一个表中的一列对另一个表中的对应列赋值。

-- 在金融应用场景数据库中,已在表property(资产表)中添加了客户身份证列,列名为pro_id_card,类型为char(18),该列目前全部留空(null)。

-- 请用一条update语句,根据client表中提供的身份证号(c_id_card),填写property表中对应的身份证号信息(pro_id_card)。
update property set pro_id_card = client.c_id_card from client where pro_c_id = c_id;




/* the end of your code */

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
计算机组成原理是计算机专业的一门基础课程,主要讲解计算机硬件的组成和工作原理。在华中科技大学educoder平台上的logisim实验中,我成功地完成了计算机组成原理相关实验。 首先,我了解了计算机的五大基本组成部分,包括输入设备、输出设备、记忆设备、控制单元和运算器。在实验中,我通过logisim软件模拟了这些组成部分,并成功构建了一台简化的计算机。 其次,我学习了计算机的指令系统和指令执行过程。在实验中,我使用logisim软件设计了指令寄存器、程序计数器和指令执行器等模块,实现了对指令的存储、读取和执行操作。 在实验过程中,我通过编写简单的汇编指令代码,将其翻译成相应的机器码,并在logisim中进行模拟。我在logisim中创建了存储器模块,用于存储指令和数据,并将其与其他模块进行连接,建立了完整的计算机系统。 通过这个实验,我深入理解了计算机硬件组成和工作原理。我学会了如何使用logisim软件进行计算机模拟实验,掌握了计算机指令的编写和执行过程。此外,这个实验还培养了我的逻辑思维能力和解决问题的能力。 总而言之,通过华中科技大学educoder平台上的logisim实验,我成功地完成了计算机组成原理相关的实验。通过这个实验,我对计算机硬件组成和工作原理有了更深入的理解,并提升了我的实践能力和解决问题的能力。这对我今后在计算机领域的学习和发展具有重要的意义。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值