数据库原理(5)——数据操纵语言DML之数据更新

    科技2023-09-21  100

    目录

    数据更新操作1.插入数据2.修改数据3.删除数据

    数据更新操作

    1.插入数据

    插入单个元组 格式如下 insert into <表名> [(<属性列1>) [,(<属性列1> ...)] values (<常量1> [,<常量1>] ...)]

    【例1-1】插入学生信息

    insert into 学生 values('S001','张三','男',21,'计算机') insert into 学生 values('S002','李四','男',19,'数学') insert into 学生 values('S003','王五','男',22,'工商') insert into 学生 values('S004','张雁','女',21,'数学') insert into 学生 values('S005','张言','女',21,'工商') insert into 学生 values('S006','王言','女',22,'计算机') insert into 学生 values(null,'张明','男',21,'计算机') --错误!主属性不能为空 insert into 学生 values('S003','张魏','大',21,'计算机') --错误!违反用户自定义约束 insert into 学生(姓名,学号) values('刘刘','S007') --部分列

    【例1-2】插入课程信息

    insert into 课程 values('C001','C++',null) insert into 课程 values('C002','OS',null) insert into 课程 values('C003','DB','C001') insert into 课程 values('C004','JAVA','C005') insert into 课程 values('C005','DS','C003')

    【例1-3】插入选课信息

    insert into 选课 values('S001','C001',0) insert into 选课 values('S001','C002',60) insert into 选课 values('S002','C001',70) insert into 选课 values('S003','C003',81) 插入子查询结果集

    2.修改数据

    修改指定表中满足where子句条件的元组 格式如下

    update <表名> set <列名>=<表达式>[,<列名>=<表达式>]... [where <条件>]

    【例2-1】将所有学生的年龄增加2岁

    update 学生 set 年龄 = 年龄 + 2

    【例2-2】将学生’S004’的年龄改为22岁

    update 学生 set 年龄 = 22 where 学号='S004'

    【例2-3】将‘选课表’中的’数据库课程的成绩’乘以1.2

    select *from 课程 update 选课 set 成绩 = 成绩*1.2 where 课程号='C003' select *from 选课

    【补充例】 将’S001’学生的’C001’成绩置90。

    update 选课 set 成绩=90 where 学号='S001' and 课程号='C001'

    3.删除数据

    删除指定表中满足where子句条件的元组 格式如下

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

    【例3-1】删除学生选课

    delete 学生 --删除全部数据 不能执行,被选课表参照了‘学号’ delete 课程 --同上,被选课表参照了‘课程号’ delete 选课 --未被参照,可执行 delete 学生 where 学号='S006' --没有被参照,可以删 delete 学生 where 学号='S001' --被参照,不可以删
    Processed: 0.013, SQL: 9