2023年8月3日发(作者:)

实验SQL语句之数据更新

实验步骤

在Microsoft SQL Server2008 中查询数据。在打开的Microsoft SQL Server2008 中,用鼠标右击要查询的数据库,在弹出的快捷菜单中选择“新建查询(Q)”,在窗口中的新建查询编辑器中编辑SQL语句进行数据库的查询操作,最后点击左上方“执行”按钮。

1.SQL语句之数据插入操作

插入数据是把新的记录行或记录行集插入到已经建立的表中。通常有插入一条记录行和插入记录行集两种形式。

插入一行记录(元组)

语言格式:

INSERT

INTO <表名>[(<属性列1>[,<属性列2>.....)]

VALUES(<常量1>[,<常量2>].......)

插入记录集(子查询结果)

批量插入,指一次将子查询的结果全部插入指定表中。子查询可以嵌套在SELECT语句中构造父查询的条件,也可以嵌套在INSERT语句中以生成要查询的数据。

语言格式:

INSERT

INTO <表名>[(<属性列1>[,<属性列2>.....)]

子查询;

 将一个新学生记录(学号:2;姓名:李四;性别:男;出生日期:NULL;所在系:计算机系;专业:网络工程;学年制:4)插入到StudentInfo表中去,SQL代码如下所示:

INSERT

INTO StudentInfo (sno,sname,sex,birthday,depart,major,lengsch)

values ('2','李四','男',null, '计算机系','网络工程','4');

将一个新老师记录(教师编号:09020;教师姓名:王伟年;性别:男;系别:经济管理系;职称:副教授;学位:本科;)插入到数据库ST的TeacherInfo表中去,SQL代码如下所示:

INSERT

INTO TeacherInfo (teacherid,tname,sex,depart,proftitle,degree) values ('09020','王伟年','男','经济管理系','副教授','本科');

③将一个新学生记录(学号:2;姓名:陈冬;性别:男;出生日期:1990.01.01;所在系:计算机系;专业:网络工程;学年制:4)插入到StudentInfo表中去,SQL代码如下所示:

INSERT

INTO StudentInfo

values ('2','陈冬','男','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表中的学生‘2’的性别改为男,SQL代码如下所示:

UPDATE StudentInfo

SET birthday = '男'

WHERE Sno ='2';

将数据库ST的SC表中的学生的成绩全部增加1,SQL代码如下所示:

UPDATE SC

SET grade =grade+1;

3.SQL语句之数据删除操作 语言格式:

DELETE

FROM <表名>

[WHERE <条件>];

WHERE 子句省略则删除全部数据。

将数据库ST的StudentInfo表中学号为“2”的学生的所有信息删除掉,SQL代码如下所示:

DELETE

FROM StudentInfo

WHERE sno='2';

删除所有学生的选课记录,SQL代码如下所示:

DELETE

FROM SC;

拓展练习

1.将一个新学生记录(学号:2;姓名:赵子龙;性别:男;所在系:体育系;专业:民族传统体育专业;学年制:4)插入到StudentInfo表中去。

2.将学生“王鹏飞”的系别改为体育系。

3.将所有的学生的学年制减小1个数。

4.将计算机系的全体学生的性别置为男。

5.删除学号为“2”的学生的记录。

6.删除服装系的所有学生的学生信息。

2023年8月3日发(作者:)

实验SQL语句之数据更新

实验步骤

在Microsoft SQL Server2008 中查询数据。在打开的Microsoft SQL Server2008 中,用鼠标右击要查询的数据库,在弹出的快捷菜单中选择“新建查询(Q)”,在窗口中的新建查询编辑器中编辑SQL语句进行数据库的查询操作,最后点击左上方“执行”按钮。

1.SQL语句之数据插入操作

插入数据是把新的记录行或记录行集插入到已经建立的表中。通常有插入一条记录行和插入记录行集两种形式。

插入一行记录(元组)

语言格式:

INSERT

INTO <表名>[(<属性列1>[,<属性列2>.....)]

VALUES(<常量1>[,<常量2>].......)

插入记录集(子查询结果)

批量插入,指一次将子查询的结果全部插入指定表中。子查询可以嵌套在SELECT语句中构造父查询的条件,也可以嵌套在INSERT语句中以生成要查询的数据。

语言格式:

INSERT

INTO <表名>[(<属性列1>[,<属性列2>.....)]

子查询;

 将一个新学生记录(学号:2;姓名:李四;性别:男;出生日期:NULL;所在系:计算机系;专业:网络工程;学年制:4)插入到StudentInfo表中去,SQL代码如下所示:

INSERT

INTO StudentInfo (sno,sname,sex,birthday,depart,major,lengsch)

values ('2','李四','男',null, '计算机系','网络工程','4');

将一个新老师记录(教师编号:09020;教师姓名:王伟年;性别:男;系别:经济管理系;职称:副教授;学位:本科;)插入到数据库ST的TeacherInfo表中去,SQL代码如下所示:

INSERT

INTO TeacherInfo (teacherid,tname,sex,depart,proftitle,degree) values ('09020','王伟年','男','经济管理系','副教授','本科');

③将一个新学生记录(学号:2;姓名:陈冬;性别:男;出生日期:1990.01.01;所在系:计算机系;专业:网络工程;学年制:4)插入到StudentInfo表中去,SQL代码如下所示:

INSERT

INTO StudentInfo

values ('2','陈冬','男','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表中的学生‘2’的性别改为男,SQL代码如下所示:

UPDATE StudentInfo

SET birthday = '男'

WHERE Sno ='2';

将数据库ST的SC表中的学生的成绩全部增加1,SQL代码如下所示:

UPDATE SC

SET grade =grade+1;

3.SQL语句之数据删除操作 语言格式:

DELETE

FROM <表名>

[WHERE <条件>];

WHERE 子句省略则删除全部数据。

将数据库ST的StudentInfo表中学号为“2”的学生的所有信息删除掉,SQL代码如下所示:

DELETE

FROM StudentInfo

WHERE sno='2';

删除所有学生的选课记录,SQL代码如下所示:

DELETE

FROM SC;

拓展练习

1.将一个新学生记录(学号:2;姓名:赵子龙;性别:男;所在系:体育系;专业:民族传统体育专业;学年制:4)插入到StudentInfo表中去。

2.将学生“王鹏飞”的系别改为体育系。

3.将所有的学生的学年制减小1个数。

4.将计算机系的全体学生的性别置为男。

5.删除学号为“2”的学生的记录。

6.删除服装系的所有学生的学生信息。