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

5.4 数据更新

2011-04-13 21页 ppt 553KB 37阅读

用户头像

is_018824

暂无简介

举报
5.4 数据更新nullWELCOME TO 数据库 原理及应用WELCOME TO 数据库 原理及应用经济管理学院 齐莉丽 E-mail: qiliru@sina.comnull*5.4 SQL的数据更新功能5.4.1 插入操作 1、插入单个元组 插入操作的语句格式是: INSERT INTO [([, …]) VALUES ( [, ]…); 但必须注意的是,在表定义时说明了NOT NULL的属性列不能取空值。否则会出错。 null*[例1] 将学生张三的信息插入到Student表中。 INSE...
5.4 数据更新
nullWELCOME TO 数据库 原理及应用WELCOME TO 数据库 原理及应用经济管理学院 齐莉丽 E-mail: qiliru@sina.comnull*5.4 SQL的数据更新功能5.4.1 插入操作 1、插入单个元组 插入操作的语句格式是: INSERT INTO <表名> [(<属性列1>[, <属性列2 >…]) VALUES (<常量1> [, <常量2>]…); 但必须注意的是,在表定义时说明了NOT NULL的属性列不能取空值。否则会出错。 null*[例1] 将学生张三的信息插入到Student表中。 INSERT INTO Student(Sno,Sname,Ssex,Sdept,Sage) VALUES (‘2000012’, ‘张三', '男', '计算机', 19); 在INTO子句中指出了表名Student,指出了新增加的元组在哪些属性上要赋值,属性的顺序可以与CREATE TABLE中的顺序不一样。VALUES子句对新元组的各属性赋值,其中,字符串常数要用单引号(英文符号)括起来。 null*[例2] 将学生张三的信息插入到Student表中。 INSERT INTO Student VALUES (‘2000113’, ‘张三’, ‘男', '计算机', 19 ); 注意: 如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值。null*[例3] 在表Course中增加一条记录。 [INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES(' 1136 ', ' 离散数学', NULL, 4); null*符号NULL的含义是赋予该列的值是空值。还可以用下面的语句来表示: INSERT INTO Course(Cno,Cname,Ccredit) VALUES (' 1136 ', ' 离散数学', 4);null*例4:对每一个系,求学生的平均年龄,并把结果存入数据库。 2、插入子查询结果 INSERT INTO <表名> [(<属性列1>[, <属性列2 >…]) 子查询; CREATE TABLE Deptage ( Sdept CHAR(15), Avgage SMALLINT); null* 对Student表按系分组求平均年龄,再把系名和平均年龄存入新表中。 INSERT INTO Deptage(Sdept, Avgage) SELECT Sdept, AVG(Sage) FROM Student GROUP BY Sdept; null*5.4.2 修改操作 UPDATE <表名> SET <列名>=<表达式>[, <列名>=<表达式>]… [WHERE <条件>]; 功能:修改指定表中满足WHERE子句条件的元组。 null*1、修改某一个元组的值 1、[例5] 将学号为2000012的学生的年龄改为18岁。 修改某一个元组的值 1、UPDATE Student SET Sage=18 WHERE Sno='2000012';改某一个元组的值 null*2、修改多个元组的值[例6] 将所有学生的年龄增加1岁。 UPDATE Student SET Sage= Sage+1;null*3、带子查询的修改语句UPDATE SC SET Grade= 0WHERE ‘CS’= (SELECT Sdept FROM Student WHERE Student.Sno=SC.Sno); 3 [例7]将计算机科学系全体学生的成绩置零。null*三、 删除操作 语句的一般格式是: DELETE FROM <表名> [WHERE <条件>]; 功能:1)从指定表中删除满足WHERE子句条件的所有元组。 2)如果省略WHERE子句,表示删除表中全部元组,但表的定义仍在字典中。即删除的是数据。 null*[例8] 删除学号为2000012的学生记录。DELETE FROM Student WHERE Sno='2000012'; 该语句的执行过程是首先在表中找到该元组(用顺序扫描或利用索引),将该元组从数据库中清除出去。 null*[例9] 删除所有学生的选课记录。 [DELETE FROM SC; 这条DELETE语句将使SC成为空表,它删除了SC的所有元组。 null*[例10] 删除计算机科学系所有学生的选课记录。DELETE FROM SC WHERE ‘CS’= (SELECT Sdept FROM Student WHERE Student.Sno=SC.Sno); null* 更新操作与数据库的一致性 增删改操作只能对一个表操作。这会带来一些问。如删除学号为001的学生,有关其选课信息也应被删除。 下面以删除操作为例null*studentsc工作原理当删除参照表中的元组时,也应检查被参照表中是否存在相应的元组,如果存在,则进行删除操作,以保持数据一致性。null*习题 1、判断:执行INSERT操作时,如果表格中存在定义为NOT NULL的数据列,那么该列的值必须要出现在VALUES的列表中。( ) 2、EMP数据库中存在两个表workers_count和workers,请向workers_count中的person_count列插入一个值,其值为workers表的元组行数: 。√INSERT INTO workers_count(person_count) SELECT count(*) FROM workers null3、用下面的SQL语句建立一个基本表: CREATE TABLE Student (Sno CHAR (4) NOT NULL, Sname CHAR (8) NOT NULL, Sex CHAR (2), Age SMALLINT) 可以插入到表中的元组是( )A.′5021′,′刘祥′,男,21 B.NULL,′刘祥′,NULL,21 C.′5021′,NULL,男,21 D.′5021′,′刘祥′,NULL,NULL Dnull*5.5 嵌入式SQL 5.6 SQL的数据控制功能
/
本文档为【5.4 数据更新】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索