接着上一部分的数据库查询操作来,今天我们来复习一下数据库的更新操作
知识点复习:
表结构
共有三个表,分别是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
小结
好好学习,天天向上。(有错请指正)