为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

实验5 数据库更新

2013-12-31 4页 pdf 99KB 36阅读

用户头像

is_017438

暂无简介

举报
实验5 数据库更新 实验 5 数据库的更新操作 一、目的和要求 (1) 学会在 SQL Server Management Studio 中对数据库表进行插入、修改和删除数据操作。 (2) 学会使用 T-SQL 语句对数据库表进行单个数据插入、成批数据插入、修改和删除数据 操作,掌握删除表的方法。 (3) 掌握在子查询的基础上创建新表。 (4) 了解数据更新操作时要注意数据完整性。 二、背景知识: (1) 单个数据插入语句 INSERT INTO 表名 [(属性列 1,属性列 2 … )] ...
实验5 数据库更新
实验 5 数据库的更新操作 一、目的和要求 (1) 学会在 SQL Server Management Studio 中对数据库进行插入、修改和删除数据操作。 (2) 学会使用 T-SQL 语句对数据库表进行单个数据插入、成批数据插入、修改和删除数据 操作,掌握删除表的方法。 (3) 掌握在子查询的基础上创建新表。 (4) 了解数据更新操作时要注意数据完整性。 二、背景知识: (1) 单个数据插入语句 INSERT INTO 表名 [(属性列 1,属性列 2 … )] VALUES (常量 1 ,常量 2 … ) 说明: ① 插入一个新元组,新元组属性列 1 的值为常量 1,属性列 2 的值为常量 2,...。INTO 子句中没有出现的属性列,新元组在这些属性列上将置空值。但必须注意的是,在表定义 时说明了 NOT NULL 的属性列不能置空值,否则会出错; ② 如果 INTO 子句中没有指明任何属性列名,则新插入的必须在每个属性列上均 有值,而且常量的顺序与属性列的顺序相对应; ③ 如果基本表后面有属性列,属性列的排列顺序不一定要和表定义时顺序一致,但 VALUES 后的常量值对应于属性列名中的分量的值,个数相等。 (2)成批数据插入语句 INSERT INTO 表名 [(属性列 1,属性列 2 … )] 子查询 上述命令的功能是一次将子查询的结果全部插入指定表中。 (3)删除数据语句 DELETE FROM 表名 WHERE 删除限定条件 功能:从指定表中删除满足 WHERE 子句条件的所有记录。该语句中没有 WHERE 子 句时,表示删除此表中的全部记录,但此表的结构不会被删除,此表的定义仍在数据字典 中。 需要说明的是: 1 ① 数据删除只能对整个元组或一条记录操作,不能只删除某些属性上的值; ② 数据删除只能对一个表起作用,若要从多个表中删除元组,则必须对每个表分别执 行删除命令。 (4)更新数据语句 UPDATE 表名 SET 属性列 1=常量 1,属性列 2=常量 2... WHERE 更新限定条件 功能:修改基本表中满足条件表达式的那些元组的属性值,用 SET 子句中的值表达式 修改原来的属性值。。如果省略 WHERE 子句,则表示要修改表中的所有元组。 三、实验 通过 SQL Server Management Studio 或查询编辑器,对 XSGL 数据库,利用增删改语 句,对数据库进行数据维护。 四、实验步骤 1.在 SQL Server Management Studio 中向数据库 XSGL 的 student 表加入如表 5-1 所示的 数据 表 5-1 student 表记录 学号 姓名 年龄 性别 部门编号 出生日期 20069011 李一 男 0001 1985/1/2 20069012 李二 女 0002 1986/1/2 方法: 在 SQL Server Management Studio 中,展开“XSGL”数据库,单击“表”目录,在右 面的详细窗格中,右击表“student”,在快捷菜单中选择“打开表”,并在其及联菜单上, 单击“返回所有行”,将鼠标移动到空白记录上,逐字段输入各记录值,输入完后,关闭表 窗口。 2.建立一个新表‘成教表’chengjiao,结构与 student 表相同。 CREATE TABLE chengjiao ( SNO char (8) not null unique, SNAME char(10), SEX char(2), DNO char(8), AGE smallint, BIRTHDAY datetime ) 2 3.将一个新学生 (学号:‘20067027’,姓名:‘张三’,年龄:20,所在系编号:‘0002’ ) 插入到学生表中。 INSERT INTO student(SNO,SNAME,AGE,DNO) VALUES ('20067027','张三 ',20,'0002') 4.按如下语句插入另外两个同学的信息到成教表中 INSERT INTO chengjiao(SNO,SNAME,AGE,DNO) VALUES ('20067011','王二 ',23,'0003') INSERT INTO chengjiao(SNO,SNAME,AGE,DNO) VALUES ('20067021','张三 ',19,'0003') 说明:插入的数据必须符合数据库的完整性约束 5.将成教表 chengjiao 中的所有学生一次性添加到学生表 student 中。 INSERT INTO student (SNO,SNAME,SEX,DNO) (SELECT SNO,SNAME,SEX,DNO FROM chengjiao ) 6.依据学生的生日,计算出该学生的年龄 UPDATE student SET AGE=(YEAR(GETDATE())-YEAR(BIRTHDAY)) 7.将所有安排在 A209 的课程调整到 D109 UPDATE course SET ROOM='D109' WHERE ROOM='A209' 8.将选课表中的‘线性代数’课程的成绩减去 4 分 UPDATE sc SET GRADE=GRADE-4 WHERE CNO IN (SELECT CNO FROM course WHERE CNAME='线性代数 ') 9.从排课表中删除‘杨丽’老师的所有排课纪录 DELETE FROM course WHERE TNAME='杨丽 ' 9.删除学院编号为空的学生记录及选课记录 DELETE FROM sc WHERE SNO IN (SELECT SNO FROM student WHERE DNO is NULL) 3 DELETE FROM student WHERE DNO is NULL 说明:为了满足数据的完整性约束要求,必须先在选课表中删除该生的选课纪录,再在学 生表中删除该名学生 10.删除表 ’excelxuanke’ DROP table excelxuanke 思考 (1)在选课表中插入一个新的选课记录,学号为 20002059,授课班号为 244501,成绩 80 分。 (2)从选课表中删除选修‘线性代数’的选修纪录 (3)将机电学院的女生一次性添加到成教表中 (4)将所有学生的高等数学成绩加5分 (5)将学号尾数为‘4’的同学成绩加 2 (6)删除电科系所有学生的选课记录 (7)将学号为“20002059”的学生姓名改为“王菲” (8)删除成绩为空的选课记录 4 实验5 数据库的更新操作
/
本文档为【实验5 数据库更新】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索