三、数据行的添、改、删
(一)添加数据行
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