牛客网-SQL专项训练7

①SQL语言可以分为多个类别,那么不属于数据操纵语言DML的是(B)

 解析:

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

1. 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT <字段名表>FROM <表或视图名>WHERE <查询条件>;

2 .数据操纵语言DML
数据操纵语言DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE

3. 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:CREATE TABLE / VIEW / INDEX / SYN / CLUSTER| 表 视图 索引 同义词 簇。

CREATE(创建数据库或表或索引)ALTER(修改表或者数据库)DROP(删除表或索引)

4. 数据控制语言DCL

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。GRANT(赋予用户权限) REVOKE(收回权限) DENY(禁止权限)
事务控制语言TCL:SAVEPOINT (设置保存点)ROLLBACK (回滚) COMMIT(提交)

②大学生春季运动会的数据库,保存了比赛信息的三个表如下:
运动员 sporter(运动员编号 sporterid,姓名name,性别 sex,所属系号 department),
项目 item(项目编号 itemid,名称 itemname,比赛地点 location), 成绩 grade(运动员编号 id,项目编号 itemid,积分 mark)。
用SQL语句完成在“体育馆”进行比赛的各项目名称及其冠军的姓名,SQL语句是:

解析:

1.要查询哪些数据?

itemname和name

2.要从哪些表中查?三个表都有涉及

3.既然三个表都有涉及,那就需要用到子查询

①先查询在体育馆举行的项目编号(项目表和成绩表通过项目编号进行关联的)

select itemid from item where location = '体育馆';

②在成绩表中查询① 结果中这些项目的最高分,通过item分组

select itemid itid max(mark) max

from grade

where itemid in(①)

group by item

③然后整合,进行关联

select  it.itmname,s.name

from grade g , (②) temp, item it,  sporter s

where  g. itemid=temp.itid and  g.mark = temp.max and temp.itid = it.itemid and s. sporterid = g.id;

 ③下列操作在视图上无法完成的是?C

解析: 视图的一个虚拟表,在视图中可以进行基本的增删改查,在视图中也可以定义新的视图,却无法创建表。

④下列选项中关于数据库事务的特性描述正确的是(D)

  解析:

事务的特性:原子性、一致性、隔离性、持久性。

A:事务是最小的执行单位,不允许分割;

B:执行事务前后,数据保持一致,对同一数据读取的结果相同;

C:一个事务被提交后对数据库中数据的改变是持久的

D:隔离性: 并发访问数据库时,一个用户的事物不被其他事物所干扰,各并发事务之间数据库是独立的;

⑤假设牛客网上有一份绝密文件存于某台机器的secretData数据库中的某个表里面,现在出于数据安全的考虑,对于新创建的用户都只能拥有该机器的登录权限,而不能拥有数据库的其他权限,那么新创建nkw用户满足这一要求的语句是()

解析:

给数据库赋予登录权限的语句是grant usage on ... to。留下BD选项,题目中说:“对于新创建的用户都只能拥有该机器的登录权限,而不能拥有数据库的其他权限”对机器只有登录权限,机器可能有多个数据库符合,并没有说只对secretData数据库,D符合题意,而B选项:授权的用户对secretData下的所有表有登录权限,权限范围变小了。

posted on 2022-09-11 16:02  我不想一直当菜鸟  阅读(345)  评论(0编辑  收藏  举报