实验SQL语句之数据更新
实验步骤
在Microsoft SQL Server2008 中查询数据。在打开的Microsoft SQL Server2008 中,用鼠标右击要查询的数据库,在弹出的快捷菜单中选择“新建查询(Q)”,在窗口中的新建查询编辑器中编辑SQL语句进行数据库的查询操作,最后点击左上方“执行”按钮。
1.SQL语句之数据插入操作
插入数据是把新的记录行或记录行集插入到已经建立的表中。通常有插入一条记录行和插入记录行集两种形式。
插入一行记录(元组)
语言格式:
INSERT
INTO <表名>[(<属性列1>[,<属性列2>.....)]
VALUES(<常量1>[,<常量2>].......)
插入记录集(子查询结果)
批量插入,指一次将子查询的结果全部插入指定表中。子查询可以嵌套在SELECT语句中构造父查询的条件,也可以嵌套在INSERT语句中以生成要查询的数据。
语言格式:
INSERT
INTO <表名>[(<属性列1>[,<属性列2>.....)]
子查询;
将一个新学生记录(学号:201001903066;姓名:李四;性别:男;出生日期:NULL;所在系:计算机系;专业:网络工程;学年制:4)插入到StudentInfo表中去,SQL代码如下所示:
INSERT
INTO StudentInfo (sno,sname,sex,birthday,depart,major,lengsch)
values ('201001903066','李四','男',null, '计算机系','网络工程','4');
将一个新老师记录(教师编号:09020;教师姓名:王伟年;性别:男;系别:经济管理系;职称:副教授;学位:本科;)插入到数据库ST的TeacherInfo表中去,SQL代码如下所示:
INSERT
INTO TeacherInfo (teacherid,tname,sex,depart,proftitle,degree)
values ('09020','王伟年','男','经济管理系','副教授','本科');
③将一个新学生记录(学号:201001903067;姓名:陈冬;性别:男;出生日期:1990.01.01;所在系:计算机系;专业:网络工程;学年制:4)插入到StudentInfo表中去,SQL代码如下所示:
INSERT
INTO StudentInfo
values ('201001903067','陈冬','男','1990.01.01','计算机系','网络工程','4');
④对每一个系,求学生的平均学制,并把结果存入数据库,SQL代码如下所示:
第一步:建表
CREATE TABLE Dept_LengSch
(Sdept CHAR(15) , /* 系名*/
Avg_LengSch SMALLINT); /*学生平均学制*/
第二步:插入数据
INSERT
INTO Dept_LengSch(separt, Avg_LengSch)
SELECT Depart,AVG(LengSch)
FROM StudentInfo
GROUP BY depart;
2.SQL语句之数据修改操作
修改数据(更新数据)是对表中一行或多行中的某些列值进行修改。
语言格式:
UPDATE<表名>
SET<列名>=<表达式>[,<列名>=<表达式>].....
[WHERE<条件>];
将数据库ST的StudentInfo表中的学生‘201001903029’的性别改为男,SQL代码如下所示:
UPDATE StudentInfo
SET birthday = '男'
WHERE Sno ='201001903029';
批量更新sql语句将数据库ST的SC表中的学生的成绩全部增加1,SQL代码如下所示:
UPDATE SC
SET grade =grade+1;
3.SQL语句之数据删除操作
语言格式:
DELETE
FROM <表名>
[WHERE <条件>];
WHERE 子句省略则删除全部数据。
将数据库ST的StudentInfo表中学号为“201001903054”的学生的所有信息删除掉,SQL代码如下所示:
DELETE
FROM StudentInfo
WHERE sno='201001903054';
删除所有学生的选课记录,SQL代码如下所示:
DELETE
FROM SC;
拓展练习
1.将一个新学生记录(学号:201001903067;姓名:赵子龙;性别:男;所在系:体育系;专业:民族传统体育专业;学年制:4)插入到StudentInfo表中去。
2.将学生“王鹏飞”的系别改为体育系。
3.将所有的学生的学年制减小1个数。
4.将计算机系的全体学生的性别置为男。
5.删除学号为“201011801017”的学生的记录。
6.删除服装系的所有学生的学生信息。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论