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

本文详细介绍了SQL中的数据操作,包括如何插入单个和多个元组,使用子查询结果集进行插入;如何修改数据,如批量增加年龄、特定记录修改;以及如何删除数据,注意参照完整性的约束。示例涵盖学生、课程和选课信息的更新操作。
摘要由CSDN通过智能技术生成

数据更新操作

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' --被参照,不可以删
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验三(2) SQL语言的DCL 一、实验目的 SQL数据控制通过DCL(数据控制语言) 实现。DCL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。 本次实验了解DCL语言的GRANT和REVOKE语句对数据库存取权限的控制,学会SQL Server 2000的查询分析器中用DCL语言数据库存取权限进行设定。 本实验需要2学时。 二、实验内容 1.创建新的数据库用户 2.用GRANT语句对数据库存取权限进行授权操作,语法格式如下: GRANT <特权组> To <用户组>|PUBLIC PUBLIC指数据库的所有用户。 3.用REVOKE语句将DBA(数据库管理员)、DBO(建库用户)授与其它用户对数据库的操作权收回,语法格式如下: REVOKE <权限组>|ALL PRIVILEGES [ON <对象名>] FROM <用户组名>|PUBLIC 三、实验任务 1. 创建新的数据库用户 要在STUDENTS数据库中创建一个“user0”数据库用户,可以按下面的步骤创建新数据库用户。 1) 在企业管理器中扩展SQL服务器及数据库文件夹。用鼠标右键单击用户 文件夹,弹出一个快捷菜单,在弹出的菜单中选择“新建数据库用户”项,会出现对话框。 2) 在对话框的登录名栏中选择一个SQL服务器登陆名和用户名。(选新建) 3) 单击“确定”按钮。 2.打开数据库SQL Server 2000的查询分析器,用新建的用户user0进行登录。 3.在查询分析器中,对STUDENTS中的表进行操作:查询(SELECT)等。会出现提示如图3:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值