【题目】MySQL选择题

来源:MySQL专项练习选择题


1.有一个User用户表,要删除整张表(指完全删除表数据和结构),下面正确的MySQL语句是:

A.DELETE TABLE User;

B.DROP TABLE User;

C.TRUNCATE TABLE User;

D.DELETE FROM User ;

解析:选B。A选项错在DELETE后面应该是接FROM+表格名,而不是TABLE...;

           B选项是完全删除表数据和表结构。

           C和D选项仅可以删除表里的数据,但是无法删除表结构。

2.下列操作在视图上无法完成的是?

A.视图数据查询

B.更新视图数据

C.在视图中定义新的基本表

D.在视图中定义新视图

解析:选C。在视图中也可以定义新的视图,却无法创建表,因为视图是个虚表,视图在数据库中没有原本的物理存储,只是相当于临时表。

3.下面哪些字符最可能会导致sql注入?

A.'(单引号)

B./

C."(双引号)

D.$

解析:选A。单引号作为MySQL中的字段值封装方式,最容易被用作注入攻击。SQL注入的关键是单引号的闭合,双引号里不能再放双引号,但单引号里可以放双引号。

4.学生、书店和图书三个实体集之间的联系属于()

A.二元联系

B.多元联系

C.自反联系

D.一对一联系

解析:选B。参与联系的实体集个数大于2个时,为多元联系;A选项,二元联系指只有两个实体集参与的联系;C选项,自反联系描述了同一实体集内两部分实体之间的联系,是一种特殊的二元联系;D选项,是二元联系下的一种细分。

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

A.grant usage on *.* with 'tqhf'@'%';

B.grant usage on secretData.* to 'tqhf'@'%';

C.grant usage on secretData.* with 'tqhf'@'%';

D.grant usage on *.* to 'tqhf'@'%';

解析:选D。数据库赋予登录权限的语句是grant usage on ... to。因此答案A、C都不正确。题目中只说secretData数据库中的某个表有绝密文件,但是对新创建的用户可拥有登录权限,而没有其他权限。并没有说只对secretData数据库,因此题目引入该数据库只是一个干扰信息,所以答案B错误。

6.在STUDENT表中按class_type统计数据行数分组情况后,筛选出数据行数为大于10行的组

A.SELECT class_type,COUNT(*) FROM STUDENT GROUP BY class_type HAVING COUNT(*)>10

B.SELECT class_type,COUNT(*) FROM STUDENT GROUP BY class_type WHERE COUNT(*)=10

C.SELECT class_type,COUNT(*) FROM STUDENT HAVING COUNT(*)>10 GROUP BY class_type

D.SELECT class_type,COUNT(*) FROM STUDENT WHERE COUNT(*) >10 GROUP BY class_type

解析:选A。由题意得,若要筛选出数据行数大于10的,第一时间肯定会想到WHERE子句,但是由于使用GROUP BY后COUNT应该写在HAVING后,因此选A,BCD均属于用法错误,故排除。WHERE不能接聚合函数(MAX、MIN、COUNT、SUM、AVG等)。HAVING后可以接聚合函数。WHERE用在GROUP BY前,先过滤后分组;HAVING用在GROUP BY之后,先分组后过滤。且使用HAVING一定要用到GRUOP BY,但用到GROUP BY不一定有HAVING。顺序:FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BY

7.决定不再使用一张备份数据表waterinfo001表,需永久删除。选出符合要求的语句。

A.DELETE TABLE waterinfo001

B.DELETE FROM TABLE waterinfo001

C.DROP TABLE waterinfo001

D.DROP FROM TABLE waterinfo001

解析:选C。

1. drop是完全删除表,包括表结构

2. delete是删除表数据,保留表的结构,而且可以加where,只删除一行或者多行

3. truncate 只能删除表数据,会保留表结构,而且不能加where

8.在创建完一张数据表后,发现少创建了一列,此时需要修改表结构,应该用哪个语句进行操作?

A.MODIFY TABLE

B.INSERT TABLE

C.ALTER TABLE

D.UPDATE TABLE

解析:选C。由题意得,通过ALTER TABLE进行表结构修改;INSERT是插入语句;MODIFY只是ALTER功能下的一个功能模块,只能修改字段属性;UPDATE是更新语句故不符合题意

9.现在有一个学生表student,需要回收所有机器的tqhf用户对学生表student所在数据库user的update和insert权限,则下列语句中能够实现这一功能的语句是()

A.revoke update,insert on user.* to 'tqhf'@'%';

B.revoke update,insert on *.* to 'tqhf'@'%';

C.revoke update,insert on user.* from 'tqhf'@'%';

D.revoke update,insert on *.* from 'tqhf'@'%';

解析:选C。回收表的操作功能语句revoke ... on ... from。因此答案A、B不正确。由于题目要求是回收所有机器的tqhf用户对user表的update和insert权限,而答案D是回收所有数据库的update和insert权限,因此答案D不正确。@'%' 是表示任何主机的通配符,@:划分用户名和主机,%:代表"任何"。

10.在MySql中进行数据查询时,如果要对查询结果的列名重新命名,将sno列重新命名为学号,则下列语句正确的是( )

A.select sno as 学号 from T

B.select 学号= sno from T

C.select sno 学号 from T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天启和风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值