【T-SQL】三、数据行的添、改、删

三、数据行的添、改、删

(一)添加数据行

1.使用INSERT…VALUES语句

语法格式如下:

INSERT [INTO] 表名|视图名[(列表名)]
VALUES (常量表)

功能:使用包含VALUES子句的INSERT语句可以把数据行添加到表中。

①插入一行所有列的值

为表“ReadType”添加数据行。表中数据如图5-25所示。

insert into ReaderType  Values (1,'教师',10,90)
insert into ReaderType  Values (2,'职员',5,60)
insert into ReaderType  Values (3,'学生',3,30)
②插入一行部分列

为表“Reader”添加读者“李茜”的部分信息,可以用同样的语句添加其它数据行。执行以下代码,表中数据如图5-26所示。

 insert Reader(RID,Rname,TypeID,E_mail)
 Values('2001030002','李茜',2,'liqian@126.com')
2.使用INSERT…SELECT语句

语法格式如下:

INSERT 表名
SELECT 查询语句

功能:SELECT查询语句用于指定输入表的值,通过SELECT查询语句生成结果集,并将其添加到INSERT后指定的表中。

使用INSERT……SELECT查询语句将图书表“Book”中计算机类的图书添加到新建的表“BookTest”中。

-- 在数据库“Library”中新建表“BookTest”。
USE Library
GO
CREATE TABLE BookTest
(
BID char(9) not NUll PRIMARY KEY ,
Bname varchar(42) NULL,
Author  varchar(20)  NUll,
PubComp varchar(28) NUll,
Pubdate datetime Null,
Price decimal(7,2) Null check (Price>0),
ISBN varchar(17)NULL,
Class char(10) NULL
)
GO
-- 将图书表“Book”中计算机类的图书添加到新建的“BookTest”表中。
insert BookTest
select BID,Bname,Author,Pubcomp,Pubdate,Price,ISBN,Class
from  Book
where  Class='教育类'

(二)修改数据行

使用UPDATE SET命令修改表中的数据,其语法格式如下:

UPDATE 表名
SET  列名1=表达式1,…,列名n=表达式n
[WHERE 逻辑表达式]

功能:对于UPDATE所指定的表,当满足WHERE子句后的条件时,SET子句为指定的列名附上“=”后表达式的值。

将读者类型表“ReaderType”中学生的原借数量和原限借天数分别增加2本和5天。

update readertype
set LimitNum=LimitNum+2,LimitDays=LimitDays+5
where typename='学生'
-- 执行以上语句,打开“ReaderType”表,可以看到表中学生的限借数量由3更新为5,限借天数由30更新为35。

将读者类型表“ReaderType”中所有数据行的限借天数都增加10天。

update readertype
set LimitDays=LimitDays+10
-- 执行以上语句,打开“ReaderType”表,可以看到表中所有数据行的限借天数都增加了10,如图5-31所示。

统计读者表中的已借书数量。

update Reader
set Lendnum=(
select count(*) from borrow 
where returnDate is  null  AND Reader.rid=borrow.rid)

(三)删除数据行

使用DELETE命令删除数据行,其语法格式如下:

DELETE 表名
[ WHERE 逻辑表达式]

功能:删除表中符合WHERE 子句指定条件的数据行

删除表“BookTest”中图书编号为“G448-01”的图书信息。

delete BookTest where BID='G448-01' 

删除表“BookTest”中的所有数据行。

Delete BookTest
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值