励志一生网 > 经典语录 > 数据库查询语录练习 正文

数据库查询语录练习

时间:2024-10-05 01:17:01

一、单项选择题

1、企业信息主管的英文简称是 (  )

2、 E—R图用于描述数据库的 (  )

A.概念模型

B.数据模型

C.存储模式

D.外模式

3、一个供应商可以供应多种材料,所以每记录一条材料信息,就要重复保存一次供应商信息,这体现了一范式存在的问题中的(  )

A.插入异常

B.修改异常

C.删除异常

D.数据冗余

4、以下关于成功要素法的说法中,错误的是(  )

A.关键成功要素法是哈佛大学的威廉·扎尼教授于l970年提出的

B.借助这种方法,可以对企业成功的重点因素进行辨识,确定组织的信息需求

C.同一单位在不同的时期其关键成功要素也是相同的

D.所谓的关键成功要素,就是关系到企业的生存与组织成功与否的重要因素

5、传统的集合运算不包括 (  )

A.交

B.投影

C.并

D.差

6、提高输入效率的环节很多,不能提高效率的是(  )

A.尽量不使用批处理作业

B.输入界面易学易用

C.输入格式设计合理

D.给定适宜的初始值

7、下列不属于系统可用性的是 (  )

A.可靠性

B.技术先进性

C.自我修复性

D.可维护性

8、保证输入的正确性不仅仅要检验源数据是否正确,而且要保证输入的 (  )

A.程序正确

B.操作有效

C.可查性好

D.以上都是

9、数据库的主体是(  )

A.物理数据库

B.描述数据库

C.用户

D.数据库管理员

10、在数据收集和调查方法中可用于收集那些分布范围广、数量大的信息的是 (  )

A.直接查阅和收集纸制载体数据和电子化数据

B.有计划的访谈

C.问卷调查和统计分析

D.现场观察和实践参与

11、 在系统说明书的内容中。资源预算属于 (  )

A.系统应用环境

B.新系统的建设方案

C.新系统的目标与范围

D.系统开发计划

12、以下有关ERP软件的说法中错误的是 (  )

A.ERP软件具有模块化的结构,可以有选择地购买

B.ERP软件已经是最终产品

C.好的ERP软件实现了底层设计的高度集成化

D.企业要得到自己需要的ERP系统,还需要在管理基础、流程改进和开发实施方面付出必要的努力。

13、 概念数据模型是面向问题的模型,关于概念模型的说法中不正确的是 (  )

A.反映了用户的`现实工作环境

B.是与数据库的具体实现技术无关的

C.不具备计算机和数据库知识的管理人员很容易理解

D.概念数据模型不容易向逻辑数据模型转换

14、 顺序码用连续数字作为每个实体的标识,它的优点是(  )

A.简单、易处理

B.没有逻辑含义

C.序列无法插入

D.删除数据会造成空码

15、在企业获取应用系统的方式中,通过自行开发制作出全新的应用系统的方式是(  )

A.开发

B.购买

C.委托

D.外包

16、 数据调查的线索是(  )

A.业务内容

B.业务流程

C.企业组织结构

D.企业现有的应用系统

17、 快速应用开发的优点不包括 (  )

A.可明显压缩低效率的重复环节

B.可以更快地构建系统,产出标准化的软件

C.有利于用户和系统开发人员建立良好关系

D.可以更快地完成系统开发工作

18、 软件测试的方法可分为静态测试和 (  )

A.墨盒测试

B.白盒测试

C.动态测试

D.自动分析工具

19、 下列选项中不是数据的是 (  )

A.货物重量

B.运输成本高低

C.行车里程

D.过桥费

20、 农业领域用来诊断动植物疾病的计算机程序属于(  )

A.群决策支持系统

B.专家系统

C.主管信息系统

D.商业智能

21、进货出货自动更新库存,库存信息及时准确。这是金蝶KIS店铺版功能中的(  )

A.管报价

B.管库存

C.管欠款

D.管资金

22、 常见的经济指标不包括 (  )

A.净利润率

B.投资回收期

C.成本节约额

D.收益增长率

23、 以下有关需求分析及确认的说法中错误的是(  )

A.系统分析人员需要对所有的需求信息进行整理和确认

B.有时需要以用户容易理解的方式编写专门的“需求分析报告”

C.需求分析报告是开发方和用户方签订系统开发协议时的参考文档

D.需求分析是信息系统开发过程中相对简单的步骤

24、SQL SERVER 2000支持的数据模型是 (  )

A.层次模型

B.网状模型

C.关系模型

D.以上都不是

25、 系统测试的目的是(  )

A.发现错误

B.改正错误

C.验证软件是正确的

D.验证软件是先进的

26、 受保护的敏感信息只能在一定范围内共享,访问和使用信息的权限要始终遵循的原则是 (  )

A.“木桶原则”

B.“最大信息”原则

C.“必不可少”原则

D.“安全最低点”原则

27、 逻辑模型的组成不包括(  )

A.数据结构

B.数据操作

C.数据完整性约束

D.数据库管理软件

28、 在SQLSERVER中,查询STUDENTl表Ⅻ为空的记录,则 SOL语句为(  )

A.SELECT*FROM STUDENTl WHERE XB IS NOT NULL ’

B.SELECT*FROM STUDENTl WHERE XB IS NULL

C.SELECT*FROM STUDENTl WHERE XB =NUl。L ,

D.以上都不是

29、 数据字典中的条目有以下六种形式:数据项、数据流、数据存储、处理功能、外部实体和(  )

A.数据载体

B.转换功能

C.数据结构

D.数据说明

30、 数据字典的建立应在以下那个阶段进行? (  )

A.系统规划

B.系统分析

C.系统设计

D.系统实施

[摘要]针对SELECT-SQL语句中Where子句存在多种使用方式的状况,在分析了SELECT-SQL子句特点的基础上,本文提出了根据不同应用要求,合理使用Where子句的观点,结合多年的教学与计算机培训的实际,在关系数据库课程的教学与实验方面取得了一定的效果。本文结合实例进行了解析,为读者合理使用SQL语句提供了参考意见。

[关键词]SELECT-SQL Where子句 形式 合理使用

在SQL语句使用中,应用的核心是SELECT-SQL查询。它主要用于从数据表中查询出符合用户指定条件的相关信息,即按用户查询要求可通过SELECT-SQL语句对指定表(单表或多表)进行选定列字段、选择、排序、分组、保存等操作。在选择中用户往往要提出较多的要求,而在SELECT-SQL语句中能够完成选择任务主要由Where子句来承担,由于实际应用时用户面对的要求与数据是多样化的,合理利用它们可对表(单表或多表)中信息进行有效的选择。若使用不当,会造成数据的遗漏或错误。下面就承担选择功能的子句在不同查询方式时的作用作出一定的分析并以实例说明。

一、对单表查询时Where子句主要应用形式

1.Where FieldName Comparison Expression。作用是对表中不符合子句匹配表达式(条件)的那些记录进行筛选。常用匹配符号有=、>、<、<>、>=、==等。

适用情况:已知一个确定值,用它作为选择的'单边界值。

2.Where FieldName [NOT] BETWEEN Start_Range AND End_Range。作用是对表中符合子句指定字段的范围值之记录进行选择。

适用情况:已知二个确定值,用它作为选择的上、下边界值。

3.Where FieldName [NOT] Like cExpression。作用是查找每个与字符串表达相匹配的字段值。其中在字符串表达试中可以使用百分号(%)和下划线(_)通配符,百分号表示字符串中任意个字符,而下划线仅表示字符串中任意一个字符。

适用情况:已知一个子字串值,用它作为选择的比较、包含值。

4.Where FieldName [NOT] IN(Subquery)。记录包含在查询结果中的条件是:字段必须包含一个子查询的返回值。

适用情况:边界值未直接给出,需用子查询来确定。

二、对多表查询时Where子句的主要应用形式

在对多表进行查询时,其Where子句的功能主要有两种。

1.连接。对进行连接的两表按连接字段值是否相等作出选择(与连接方式有关)。

2.选择。作用与单表中的应用相同。若既要起连接作用又同时起选择作用,则表达式须用逻辑运算符AND进行连接。

3.基本格式:

Select 字段名1,字段名2,……..;

From Table1,Table2;

Where Table1.字段名1=Table2.字段名1 AND字段名 Comparison Expression即:在两个被连接的表中,按连接条件是否成立(连接字段的值是否符合等值),进行第一次选择;然后进行第二次选择,去掉不符合条件的记录,从而得到最终结果。

三、实例应用

以下查询命令是基于关系:STUDENT(XH,XM,XB,CSRQ); SC(XH,KCH,CJ);KC(KCH,KCMC)。

1.单表查询

(1)查“性别为男的学生全部信息”

Select * FromStudent Where XB=“男”

查“成绩大于等于85分的学生信息”

Select * From Sc Where CJ>=85表示为一个含端点值的开区间。

(2)查 “成绩大于等于85分并且小于等于95分的信息”

Select * From SC Where CJ BETWEEN 85 AND 95

该子句可用下面语句形式替换

Select * From SC Where CJ>=85 AND CJ<=95

也能表示为含端点值的一个闭区间

(3)查“课程名称中含有‘信息’的各门课程名称”

Select Kcmc From Kc Where KcmcLike“%信息%”

%:为全通配符,可代表任意长度、任意内容的字符。

(4)查“参加了考试的学生学号”

Select xh From Student Where xh IN (Select xh From Sc)

本例采用了嵌套查询。

2.多表查询

(1)查“参加了考试的、男生姓名”

Select Student.xm From Student,Sc Where Student.xh=Sc.xh AND xb=“男”

也可用以下形式表达:

Select Student.xm From Student Join Sc On Student.xh=Sc.xh Where xb=“男”

(2)查“参加了C语言考试的、男生姓名”

Select Student.xm From Student,Sc,Kc Where Student.xh=Sc.xh AND ;Kc.kch=Sc.kch AND xb=“男” AND kcmc=“C语言”

也可用以下形式表达:

Select Student.xm From Student Join Sc Join Kc On Kc.kch=Sc.kch;

On Student.xh=Sc.xh Where Student.xb=“男” AND Kc.kcmc=“C语言”

四、结束语

在关系数据库教学中学生们经常感觉到Where短语不好掌握,因为它既有筛选的功能,也含有确定连接条件的功能;在单表查询时还比较容易理解,当使用在二表或三表查询时学生们就不太容易理解了。在实际使用中SELECT语句的作用很重要,尤其是在计算机等级考试中也有较大的分值点,掌握好其中的Where子句用法也是不可忽视的,本文给出的几种常用的形式既是基础,也是应用、考试要点。

参考文献:

[1]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2007.94.

[2]李鑫.ELF格式对共享库支持的分析[J].山西广播电视大学学报,2009,(1):52-54.

[3]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2007.103.

[4]耿小芬.VB中的ADO数据库访问技术[J].山西广播电视大学学报,2009,(1):50-51.

[5]吴迪,曲蒙. Visual FoxPro 6.0中文命令手册[M].清华大学出版社,2001.279.

在缺省模式下,MYSQL是autocommit模式的,所有的数据库更新操作都会即时提交,所以在缺省情况下,mysql是不支持事务的。

但是如果你的MYSQL表类型是使用InnoDB Tables 或 BDB tables的话,你的MYSQL就可以使用事务处理,使用SET AUTOCOMMIT=0就可以使MYSQL允许在非autocommit模式,

在非autocommit模式下,你必须使用COMMIT来提交你的更改,或者用ROLLBACK来回滚你的更改。

示例如下:

START TRANSACTION;

SELECT @A:=SUM(salary) FROM table1 WHERE type=1;

UPDATE table2 SET summmary=@A WHERE type=1;

COMMIT;

MYSQL相比于其他数据库有哪些特点?

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现在已经 被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统

与其他的大型数据库例如Oracle、DB2、SQL Server等相比功能稍弱一些

1、可以处理拥有上千万条记录的大型数据

2、支持常见的SQL语句规范

3、可移植行高,安装简单小巧

4、良好的运行效率,有丰富信息的网络支持

5、调试、管理,优化简单(相对其他大型数据库)

介绍一下mysql的日期和时间函数

这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。 mysql> SELECT something FROM tbl_name

WHERE TO_DAYS(NOW) – TO_DAYS(date_col) <= 30;

DAYOFWEEK(date)

返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的标准。

mysql> SELECT DAYOFWEEK(’1998-02-03′);

-> 3

WEEKDAY(date)

返回 date 的星期索引(0 = Monday, 1 = Tuesday, ? 6 = Sunday):

mysql> SELECT WEEKDAY(’1998-02-03 22:23:00′);

-> 1

mysql> SELECT WEEKDAY(’1997-11-05′);

-> 2

DAYOFMONTH(date)

返回 date 是一月中的第几天,范围为 1 到 31:

mysql> SELECT DAYOFMONTH(’1998-02-03′);

-> 3

DAYOFYEAR(date)

返回 date 是一年中的第几天,范围为 1 到 366:

mysql> SELECT DAYOFYEAR(’1998-02-03′);

-> 34

MONTH(date)

返回 date 中的月份,范围为 1 到 12:

mysql> SELECT MONTH(’1998-02-03′);

-> 2

DAYNAME(date)

返回 date 的星期名:

mysql> SELECT DAYNAME(”1998-02-05″);

-> ?Thursday?

MONTHNAME(date)

返回 date 的月份名:

mysql> SELECT MONTHNAME(”1998-02-05″);

-> ?February?

QUARTER(date)

返回 date 在一年中的季度,范围为 1 到 4:

mysql> SELECT QUARTER(’98-04-01′);

-> 2

WEEK(date)

WEEK(date,first)

对于星期日是一周中的第一天的场合,如果函数只有一个参数调用,返回 date 为一年的第几周,返回值范围为 0 到 53 (是的,可能有第 53 周的开始)。两个参数形式的 WEEK 允许你指定一周是否以星期日或星期一开始,以及返回值为 0-53 还是 1-52。这里的一个表显示第二个参数是如何工作的:

0 一周以星期日开始,返回值范围为 0-53

1 一周以星期一开始,返回值范围为 0-53

2 一周以星期日开始,返回值范围为 1-53

3 一周以星期一开始,返回值范围为 1-53 (ISO 8601)

mysql> SELECT WEEK(’1998-02-20′);

-> 7

mysql> SELECT WEEK(’1998-02-20′,0);

-> 7

mysql> SELECT WEEK(’1998-02-20′,1);

-> 8

mysql> SELECT WEEK(’1998-12-31′,1);

-> 53

意,在版本 4.0 中,WEEK(#,0) 被更改为匹配 USA 历法。

       注意,如果一周是上一年的最后一周,当你没有使用 2 或 3 做为可选参数时,MySQL 将返回 0:

mysql> SELECT YEAR(’2000-01-01′), WEEK(’2000-01-01′,0);

-> 2000, 0

mysql> SELECT WEEK(’2000-01-01′,2);

-> 52

你可能会争辩说,当给定的日期值实际上是 1999 年的第 52 周的一部分时,MySQL 对 WEEK 函数应该返回 52。我们决定返回 0 ,是因为我们希望该函数返回“在指定年份中是第几周”。当与其它的提取日期值中的月日值的函数结合使用时,这使得 WEEK 函数的用法可靠。如果你更希望能得到恰当的年-周值,那么你应该使用参数 2 或 3 做为可选参数,或者使用函数 YEARWEEK :

mysql> SELECT YEARWEEK(’2000-01-01′);

-> 199952

mysql> SELECT MID(YEARWEEK(’2000-01-01′),5,2);

-> 52

YEAR(date)

返回 date 的年份,范围为 1000 到 9999:

mysql> SELECT YEAR(’98-02-03′);

-> 1998

YEARWEEK(date)

YEARWEEK(date,first)

返回一个日期值是的哪一年的哪一周。第二个参数的形式与作用完全与 WEEK 的第二个参数一致。注意,对于给定的日期参数是一年的第一周或最后一周的,返回的年份值可能与日期参数给出的年份不一致:

mysql> SELECT YEARWEEK(’1987-01-01′);

-> 198653

注意,对于可选参数 0 或 1,周值的返回值不同于 WEEK 函数所返回值(0), WEEK 根据给定的年语境返回周值。

HOUR(time)

返回 time 的小时值,范围为 0 到 23:

mysql> SELECT HOUR(’10:05:03′);

-> 10

MINUTE(time)

返回 time 的分钟值,范围为 0 到 59:

mysql> SELECT MINUTE(’98-02-03 10:05:03′);

-> 5

SECOND(time)

返回 time 的秒值,范围为 0 到 59:

mysql> SELECT SECOND(’10:05:03′);

-> 3

PERIOD_ADD(P,N)

增加 N 个月到时期 P(格式为 YYMM 或 YYYYMM)中。以 YYYYMM 格式返回值。 注意,期间参数 P 不是 一个日期值:

mysql> SELECT PERIOD_ADD(9801,2);

-> 199803

PERIOD_DIFF(P1,P2)

返回时期 P1 和 P2 之间的月数。P1 和 P2 应该以 YYMM 或 YYYYMM 指定。 注意,时期参数 P1 和 P2 不是 日期值:

mysql> SELECT PERIOD_DIFF(9802,199703);

-> 11

DATE_ADD(date,INTERVAL expr type)

DATE_SUB(date,INTERVAL expr type)

ADDDATE(date,INTERVAL expr type)

SUBDATE(date,INTERVAL expr type)

这些函数执行日期的算术运算。ADDDATE 和 SUBDATE 分别是 DATE_ADD 和 DATE_SUB 的同义词。 在 MySQL 3.23 中,如果表达式的右边是一个日期值或一个日期时间型字段,你可以使用 + 和 – 代替 DATE_ADD 和 DATE_SUB(示例如下)。 参数 date 是一个 DATETIME 或 DATE 值,指定一个日期的开始。expr 是一个表达式,指定从开始日期上增加还是减去间隔值。expr 是一个字符串;它可以以一个 “-” 领头表示一个负的间隔值。type 是一个关键词,它标志着表达式以何格式被解释。 下表显示 type 和 expr 参数是如何关联的: type 值 expr 期望的格式

SECOND SECONDS

MINUTE MINUTES

HOUR HOURS

DAY DAYS

MONTH MONTHS

YEAR YEARS

MINUTE_SECOND “MINUTES:SECONDS”

HOUR_MINUTE “HOURS:MINUTES”

DAY_HOUR “DAYS HOURS”

YEAR_MONTH “YEARS-MONTHS”

HOUR_SECOND “HOURS:MINUTES:SECONDS”

DAY_MINUTE “DAYS HOURS:MINUTES”

DAY_SECOND “DAYS HOURS:MINUTES:SECONDS”

在 expr 的格式中,MySQL 允许任何字符作为定界符。表中所显示的是建议的定界字符。如果 date 参数是一个 DATE 值,并且计算的间隔仅仅有 YEAR、MONTH 和 DAY 部分(没有时间部分),那么返回值也是一个 DATE 值。否则返回值是一个 DATETIME 值: mysql> SELECT “1997-12-31 23:59:59″ + INTERVAL 1 SECOND;

-> 1998-01-01 00:00:00

mysql> SELECT INTERVAL 1 DAY + “1997-12-31″;

-> 1998-01-01

mysql> SELECT “1998-01-01″ – INTERVAL 1 SECOND;

-> 1997-12-31 23:59:59

mysql> SELECT DATE_ADD(”1997-12-31 23:59:59″,

说明:以下所有问题均假设已经初始登录到MySQL客户端,系统所有数据库命名方式可以采用中文,题目之间前后有相应的顺序,确保命名方式一致,根据问题的描述,写出相应的MySQL语句。

一、 数据库设计

1. 显示当前系统所有数据库,将MySQL设置为默认数据库,并显示MySQL数据库中的所有表

Show databases;

Use mysql;

Show tables;

2. 创建数据库【选课】,设置数据库的编码字符集为UTF8,并将【选课】设置为默认数据库

Create database选课

Character set UTF8;

Use选课;

3. 系统包含以下实体,请创建相应的表,字段描述中并未给出相应的主键和相应的外键关联,请自行设计每个实体的主键和相应的外键关联字段。

提示:

     【学院】【学生】之间存在一对多的关系

 【学生】【课程】之间存在多对多关系,

它们之间的联系为【选课】。

 【学生】,应包含【学号、姓名、出生日期】等属性。

 【学院】,应包含【学院名称】等属性。

 【课程】,应包含【课程名称,课程学分】等属性。

 【选课】,应包含【成绩】等属性。

CREATE TABLE 学院

(学院名称 varCHAR(20) primary key);

CREATE TABLE 学生

(学号 CHAR(10) primary key,

姓名 VARCHAR(10),

出生日期 DATE,

学院名称VARCHAR(20)

Foreign Key (学院名称) references 学院(学院名称));

CREATE TABLE 课程

(课程名称 varCHAR(20) primary key,

课程学分 int);

CREATE TABLE 选课

(课程名称 varCHAR(20),

学号 CHAR(10),

成绩 float,

primary key (课程名称,学号),

Foreign Key(课程名称) references 课程(课程名称),

Foreign Key(学号) references 学生(学号));

二、 数据库功能

1. 设计【选课视图】,要求显示【学生姓名,课程名称,课程学分,成绩】字段

Create view v_1 (学生姓名,课程名称,课程学分,成绩)

Select学生姓名,课程名称,课程学分,成绩

From 学生,课程,选课

Where 学生.学号=选课.学号 and 课程.课程名称=选课.课程名称

2. 设计触发器,当删除【课程】时,相应的触发器触发,从【选课】实体中删除相应的【选课】记录

Create trigger t_1 after on 课程

For each row

Beginmysql试题及答案。

Delete from 选课 where 课程名称=old.课程名称;mysql试题及答案。

3. 设计一个函数,根据相应的【学院】返回学生的平均成绩

CREATE FUNCTION T23(XY VARCHAR(20) )

RETURNS FLOAT

BEGINmysql试题及答案。

DECLARE CJ FLOAT;

SELECT AVG(成绩) INTO CJ FROM 选课,学生

WHERE 选课.学号=学生.学号 and学院名称=XY;

RETURN(CJ);

4. 设计一个存储过程,根据【学号】返回学生的学分,注意,成绩在60分以上才能

获得相应的学分。

CREATE PROCEDURE T24(IN XH CHAR(10),OUT XF INT)

SELECT SUM(课程学分) INTO XF FROM 选课,课程

WHERE 选课.课程名称=课程.课程名称 AND 学号=XH

AND 成绩>=60;

三、 数据库查询与管理

1、 查询没有选过任何课程的学生

SELECT * FROM 学生 WHERE 学号 NOT IN(SELECT DISTINCT 学号 FROM 选课);

2、 按照某一课程的成绩高低显示学生名单

SELECT * FROM 学生,选课 where 学生.学号=选课.学号

and 课程名称=’XXX’

order by 成绩 desc;

3、 查询某个学生的'平均成绩

Select学号,avg(成绩) from 选课 where 学号=’XXX’;

4、 创建test用户,并将【选课】数据库的所有权限赋予test用户,并设定test用户可以在任何主机上登录。

GRANT ALL PRIVILEGES ON选课.* TO ‘test’@’%’ IDENTIFIED BY ’something’ ;

5、数据库备份

MYSQLDUMP –UTEST -P something 选课>xx.SQL

一、单选题(共34分)

1、mysql中唯一索引的关键字是( C )

(1分)

A. fulltext index 

       B.only index  

       C.unique index

       2、下面关于索引描述中错误的一项是( C  )

A.索引可以提高数据查询的速度

(1分)

B.索引可以降低数据的插入速度 

C.innodb存储引擎支持全文索引

       D.删除索引的命令是drop index

       (2分)

3、支持主外键,索引及事务的存储引擎为是( B )

4、对事务的描述中不正确的是( C ) (2分)

A.事务具有原子性

B.事务具有隔离性

C.事务回滚使用commit命令   

       5、 mysql中,备份数据库的命令是( A )

(2分)

6、 实现批量数据导入的命令是(B )

7、 创建用户的命令是(

A. join user

(2分)

       B.create user

C.create root  

       D.mysql  user

(2分)

8、 修改自己的mysql服务器密码的命令是( C )

       C.set password

       D.change password

9、 找回mysql服务器root密码的很重要的一步是跳过权限表的检查启动mysql,该命令是 ( D)

(2分)

A. mysql -u root –proot  

       B. mysqladmin  -uroot  -proot  

       C. net start mysql  

       D. mysqld-nt  --skip-grant-tables  

      10、联合查询使用的关键字是( B )

(2分)

11、有订单表orders,包含用户信息userid, 产品信息 productid, 以下( D )语句能够返回至少被订购过两回的productid? (2分)

A. select productid from orders where count(productid)>1 

       B. select productid from orders where max(productid)>1

C. select productid from orders where having count(productid)>1 group by productid 

       D. select productid from orders group by productid having count(productid)>1 

      12、子查询中可以使用运算符ANY, 它表示的意思是( B ) (2分)

A. 满足所有的条件 C. 一个都不用满足

B. 满足至少一个条件 D. 满足至少5个条件

13、一种存储引擎,其将数据存储在内存当中,数据的访问速度快, 电脑关机后数据丢失,具有临时存储数据的特点,该存储引擎是( C ) (2分)

A. MYISAM   B.INNODB   C.ROLLBACK (2分)   D.return

       14、事务中能实现回滚的命令是(B)

15、mysql中,还原数据库的命令是(C )

(2分)

16、ysql中存储用户全局权限的表是( D )

A. table_priv

B.procs_priv 

(2分)

C.columns_priv 

17、删除用户的命令是(A )

A. drop user   B. user C.drop root D.truncate user

18、给名字是zhangsan的用户分配对数据库studb中的stuinfo表的查询和插入数据权限的语句是( B ) (2分)

A.grant select, on studb.stuinfo for‘zhangsan’@’localhost’              B.grant select, on studb.stuinfo  to ‘zhangsan’@’localhost’

       C.grant‘zhangsan’@’localhost’ to select, for studb.stuinfo 

       D.grant ‘zhangsan’@’localhost’ to studb.stuinfo on select, 

       二、多项选择题(共12分)

20、事务具有下面的特性(  ABC  ) (4分)

A 稳定性     B原子性    C隔离性    D 再生性 

       21、下列的函数中可以处理日期和时间的函数有( BCD )(4分) 

       A round    B WeekDay   C Curdate   D DayofMonth   

       22、mysql中的约束有( BCD)

A.检查约束

B.默认约束(4分) 

       C.非空约束

D.唯一约束

、简答题(共12分)

24、在mysql中常用存储引擎有哪几种(最少三种),每个引擎特点区别?(6分)

25忘记MySQL管理员root的密码如何解决?写出步骤和指令(6分)

四、编程题(共42分)

1. 有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下: 供应表 apply(id、name、sid、price)

说明:id 供应厂家编号 name 供应厂家名称 sid 商品编号 price 商品价格

顾客表 customers(gid、name、address、balance) 说明:gid 顾客编号 address 地址  balance 余额

订单表 orders(sid、gid、date)

说明: sid 商品编号 gid 顾客编号  date 订单日期

商品表 goods(sid、name、count)

说明: sid 商品编号  name 商品名称  count 商品数量 1)分析各个表之间的关系(主外键引用关系),创建四个表(4分)

2)从供应表中查询全体供应厂商的基本信息(3分)

3)从顾客表中查询地址在长春的顾客的顾客编号、顾客姓名及余额(3分)

4) 从商品表中查询以?可乐?两个字结尾的商品名称及数量,并按数量降序排序(4分)

5)从订单表中查询购买商品编号为?101?商品的顾客编号及订单日期(3分)

6)从商品表中查询最多商品数量、最少商品数量及商品总数量的记录信息(4分)

7)查询出2008-8-8顾客的订单信息,要求包括顾客姓名、商品名称及订单日期(4分)

8)向商品表中追加一条纪录?204?,?可口可乐?,?900?) (3分)

9)将商品表中商品编号为204的商品名称更改为?百事可乐? (3分)

10)将顾客表上余额不足1000元的,将其订单日期延后10天(4分)

11) 删除订单表中商品编号为?102?的订单记录(3分)

12)将商品表中没有顾客订购的商品信息删除(4分)

一、选择题

1.在MySQL中,通常使用________语句来进行数据的检索、输出操作。

2.在SELECT语句中,可以使用________子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算。

B.GROUP BY

D.ORDER BY

二、填空题

1.SELECT语句的执行过程是从数据库中选取匹配的特定________和________,并将这些数据组织成一个结果集,然后以一张________的形式返回。2016年计算机二级MySQL数据库试题及答案2016年计算机二级MySQL数据库试题及答案。

2.当使用SELECT语句返回的结果集中行数很多时,为了便于用户对结果数据的浏览和操作,可以使用子句来限制被SELECT语句返回的行数。

三、编程题

请使用SELECT语句将数据库db_test的表content中留言人姓名为“MySQL初学者”的所有留言信息检索出来。

四、简答题

1.请简述什么是子查询?

2.请简述UNION语句的作用。

       一、选择题

二、填空题

1.行列临时表2.LIMIT

三、编程题

在MySQL命令行客户端输入如下SQL语句即可实现:

mysql>USE db—test;

Database changed

mysql>SELECT*FROM content

一>WHERE username=’MySQL初学者’;

四、简答题

1.略。可参考第5章5.4节内容。

2.略。2016年计算机二级MySQL数据库试题及答案计算机等级考试题库。可参考第5章5.9节内容。