码迷,mamicode.com
首页 > 数据库 > 详细

《数据库系统概论》 -- 3.3 DML之增删改

时间:2017-09-05 23:15:55      阅读:414      评论:0      收藏:0      [点我收藏+]

标签:空值   计算机   修改   成绩   col   属性   信息   数据库系统   tab   

数据更新操作有三种:添加、修改、删除

INSERT     格式         INSERT

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

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

                                     或

                                     INSERT

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

                                     <select子查询>;

                  注意         在INTO子句中没有出现的属性列,新元组取空值;

                                     如果某列不允许为空,则会报错

                                     如果INTO子句只有表名,则数据的顺序必须与创建语句的顺序一致

                  举例

                            将一个新学生元组(201215128,陈冬,男,IS,18)插入Student表

                                      INSERT INTO Student (Sno,Sname,Ssex,Sdept,Sage) VALUES (‘201215128‘,‘陈冬‘,‘男‘,‘IS‘,18);

                           将学生张成民的信息(201215126,张成民,男,CS,18)插入到Student表中

                                     INSERT INTO Student (Sno,Sname,Ssex,Sdept,Sage) VALUES (‘201215126‘,‘张成民‘,‘男‘,‘CS‘,18);

                           插入一条选课记录(‘201215128‘,‘1‘)

                                     INSERT INTO SC (Sno,Cno) VALUES (‘201215128‘,‘1‘);

                           对每一个系,求学生的平均年龄,并将结果存入数据库

                                     CREATE TABLE Dept_age (

                                                                                    Sdept CHAR(15),

                                                                                    Avg_age SMALLINT

                                                                                    );

                                     INSERT INTO Dept_age (Sdept,Avg_age)

                                     SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;

UPDATE   格式         UPDATE <表名>

                                     SET <列名>=<表达式>[, <列名>=<表达式>...]

                                     [WHERE <条件表达式>];

                  举例

                            将学生201215121的年龄改为22岁

                                     UPDATE Student SET Sage=22 WHERE Sno=‘201215122‘;

                           将所有学生年龄增加1岁

                                     UPDATE Student SET Sage=Sage+1;

                           将计算机科学系全体学生的成绩置零

                                     UPDATE SC SET Grade=0 WHERE Sno IN (

                                     SELECT Sno FROM Student WHERE Sdept=‘CS‘

                                     );

DELETE    格式         DELETE FROM <表名>

                                     [WHERE <条件表达式>];

                  说明         如果没有WHERE子句,则删除表中所有数据,该表还在

                   举例

                            删除学号为201215128的学生记录

                                     DELETE FROM Student WHERE Sno=‘201215128‘;

                           删除所有学生的选课记录

                                     DELETE FROM SC;

                           删除计算机科学系所有学生的选课记录

                                     DELETE FROM SC WHERE Sno IN (

                                              SELECT Sno FROM Student WHERE Sdept=‘CS‘

                                     );

《数据库系统概论》 -- 3.3 DML之增删改

标签:空值   计算机   修改   成绩   col   属性   信息   数据库系统   tab   

原文地址:http://www.cnblogs.com/yc913344706/p/7482169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!