• 3.4 数据更新


    第四节 数据更新

    注意!满足参照完整性(有父才有子,有被参照表才有参照表)

    注意!区别数据定义,数据定义是对整表的操作,而数据更新是对行进行的操作,只含有3种更新操作,分别是:

                                                                                                            向表中添加若干行数据;

                                                                                                            修改表中若干行数据;

                                                                                                             删除表中若干行数据;

     一、插入数据insert

    1.插入一个元组

    insert into <表名>[(<属性列1>[,<属性列2>...)] values (<常量1>[,<常量2>]...);
    insert into Student values ('95020','陈东‘,’男‘,’IS‘,18);

    2.插入子查询结果

    insert into <表名>[(<属性列1>[,<属性列2>...)]子查询;
    对Student表按系分组求平均年龄,再把系名和平均年龄存入新表中
    insert into Dept_age(Sdept,Avg_age) select Sdept,avg(sage) from Student group by Sdept;

    2.修改数据 update……set

    1.修改一个元组的值

    将学生200215121的年龄改成22岁
    update Student set Sage=22 where Sno='200215121';

    2.修改多个元组的值

    将所有学生的年龄增加1岁
    update Student set Sage=Sage+1;

    3.带子查询的修改语句

    将计算机科学系全体学生的成绩置为0
    update SC set Grade=0 where 'CS'=(select Sdept from Student where Student.Sno=SC.Sno);
    将计算机科学系的所有学生的成绩置为0
    update SC set Grade=0 where 'CS'= (select Sdept from Student where Sno=(select Sno from SC));

    三、删除数据delete from

    delete from <表名> [where <条件>]

    1.删除某一个元组的值

    删除学号为200215128的学生记录
    delete from Student where Sno='200215128';

    2.删除多个元组的值

    删除所有学生的选课记录
    delete from SC;
    drop table SC;

    3.带子查询的删除语句

    删除计算机科学系所有学生的选课记录
    delete from SC where 'CS'=(select Sdept from Student where Student.Sno=SC.Sno);
  • 相关阅读:
    重载函规则
    lambd
    内联函数
    c和c++中的枚举和 区别
    关于于c++中的类型转换
    作用域解析运算符
    day01
    二级指针输入特性
    二级指针的 数出特性
    influence maximization 第二弹
  • 原文地址:https://www.cnblogs.com/xiaoxiaohui2015/p/5770978.html
Copyright © 2020-2023  润新知