数据库原理练习题:SQL数据更新操作
接着上一部分的数据库查询操作来,今天我们来复习一下数据库的更新操作
知识点复习:
表结构
共有三个表,分别是ts-图书表,jy-借阅表,dz-读者表
练习题目如下
-
将财会系读者借书记录存入一个新表ckjy中,保存字段为借书证号、姓名、书名、借书时间
select dz.借书证号,姓名,书名,借书日期 into ckjy from ts join jy on ts.总编号=jy.总编号 join dz on jy.借书证号=dz.借书证号 where 单位=财会系
-
将记录(‘123’,‘沈小霞’,‘大学英语’,‘2009-10-15’),(‘125’,‘张自强’,‘线性代数’,‘2011-4-15’)插入到ckjy表中
insert into ckjy(借书证号,姓名,书名,借书日期)--由于这里是全部列,所以也可以省略括号内容 values(123,沈小霞,大学英语,2009-10-15),(125,张自强,线性代数,2011-4-15)
-
根据ts表的结构用命令建立一个新表ts1
--这里建立新表的方法要记住 select * into ts1 from ts where 1=0 --这是不可能条件,所以ts表中没有记录会被选中
-
将数据库类的图书插入到表ts1中,数据库类图书包含书“数据库”或“Fox”两个关键字
insert into ts1 select * --表的结构要对应 from ts where 书名 like %数据库% or 书名 like %Fox%
-
将dz表中的年龄字段利用出生日期字段计算出并填充到各个记录中,
update dz set 年龄=year(getdate())-year(出生日期)
-
将ts表中所有科学出版社的图书的价格设置成原来价格的八折,
update ts set 单价=0.8 * 单价 where 出版单位=科学出版社
-
将所有的高级职称(包含“教授”连个字)、姓名为2个字的读者 插入到新表gjdz表中
select * into gjdz from dz where 职称 like %教授% and len(姓名)=2
-
删除dz表中家住3楼或3楼以下的读者
delete from dz where substring(地址,4,1)<=3 --从地址的第4个字符开始,截取1个字符
-
删除借阅表中关于书名为计算机基础的借阅信息
delete from jy where 总编号=( select 总编号 from ts where 书名=计算机基础 )
-
删除gjdz表
drop table gjdz --删除表需要加drop table
小结
好好学习,天天向上。(有错请指正)