mysql数据库应用与开发姜桂洪 课后答案
第3部分MySQL数据库模拟试题及参考答案
学习导读:
本部分包括6套MySQL数据库的模拟试题和参考答案,涵盖了本课程的主要知识点,可以帮助读者了解和检验自己的学习情况。
前4套以MySQL基本知识和基本操作为重点内容,第5套有个别题目是PHP软件内容,第6套添加了数据库设计方面的内容。
MySQL数据库模拟试题1
说明: 本试题为笔试方式,考试时间100分钟,总计100分。
一、 选择题(每题1分,共20分)
1. 下面标识符不合法的是。
A. null_1B. _mysqlC. 3moneyD. trigger1
2. MySQL数据库无处不在的数据危险不包括。
A. 系统故障B. 计划故障C. 介质故障D. 事务故障
3. 使用select将表中数据导出到文件,可以使用子句。
A. to fileB. into fileC. out to fileD. into outfile
4. 一个关系只有一个。
A. 候选码B. 主码C. 外码D. 超码
5. 基于“学生选课课程”数据库中的3个关系:
stu(sno,sname,sex,department),主码是sno
course(cno,cname,teacher),主码是cno
sc(Sno,cno,grade),主码是(sno,cno)
在下列关于保持数据库完整性的叙述中,是不正确的。
. A. 向关系sc插入元组时,sno和cno都不能是空值(null)
B. 可以任意删除关系sc中的元组
C. 向任何一个关系插入元组时,必须保证该关系主码值的唯一性
D. 可以任意删除关系cno中的元组
6. 要想移除账户,应使用语句。
A. delete userB. drop userC. delete privD. drop priv
7. 触发器可以创建在中。
A. 表B. 索引C. 事件D. 函数
8. 使用语句删除触发器trig_test。
A. drop * from trig_Test
B. drop trig_Tes
C. drop triger where name='trig_Test'
D. drop triger trig_Test
9. 在SQL语言中,子查询是。
A. 返回单表中数据子集的查询语句
B. 选取多表中字段子集的查询语句
C. 选取单表中字段子集的查询语句
D. 嵌入到另一个查询语句之中的查询语句
10. 在数据库设计中,ER模型是进行的一个主要工具。
A. 需求分析B. 概念设计C. 逻辑设计D. 物理设计
11. 通过以下语句临时关闭事件e_test。
A. alter event e_test disableB. alter event e_test drop
C. alter event e_test enableD. alter event e_test delete
12. 视图是一个虚表,视图的构造基于。
A. 基表或视图B. 基表或索引
C. 视图或索引D. 基表、视图或索引
13. 设s_avg(sno,avg_grade)是一个基于关系sc定义的学号和他的平均成绩的视图。下面对该视图的操作语句中,是不能正确执行的。
Ⅰ. update s_avg set avg_grade=90 where sno=2017010601
Ⅱ. select sno, avg_grade from s_avg where sno=2017010601
A. 仅ⅠB. 仅ⅡC. 都能D. 都不能
14. 如果关系模式R属于1NF,且每个非主属性都完全函数依赖于R的主码,则R属于。
A. 2NFB. 3NFC. BCNFD. 4NF
15. 可用于从表或视图中检索数据的MySQL语句是。
A. selectB. insertC. updateD. delete
16. MySQL安装成功后,在系统中会默认建立一个用户。
A. rootB. userC. mysqlD. sys
17. 当使用select语句返回的结果集中行数很多时,为了便于用户对结果数据的浏览和操作,可以使用子句来限制被select语句返回的行数。
A. limit语句B. insert语句C. update语句D. delete语句
18. delete from Stu where年龄>60语句的功能是。
A. 从Stu表中彻底删除记录
B. Stu表中年龄大于60岁的记录被删除
C. 删除Stu表
D. 删除Stu表的年龄列
19. 索引可以提高哪一操作的效率?
A. insertB. updateC. deleteD. select
20. 在MySQL中,可以使用语句删除表中的全部数据而保留表结构。
A. limitB. outerC. dropD. truncate
二、 填空题(每空1分,共10分)
1. 在ER图中,矩形表示,椭圆形表示。
2. 保存在MySQL安装目录中的选项文件名是。
3. MySQL安装包含典型安装、定制安装和3种安装类型。
4. 如果一个列是类型,则可以使用关键字指定该列的值自动增加。
5. 在MySQL中,通常使用值来表示一个列是未确定值的情形。
6. 将一个列设置为主键的方法是,在列的定义中使用子句。
7. 创建普通索引时,通常使用的关键字是。
8. 如果使用关键词,则即使在更新过程中出现错误,更新语句也不会中断。
三、 阅读程序,指出下列程序段的功能(每题3分,共18分)
1.
delimiter //
createfunctioncount_pro (sidint)returns int
begin
return(select count(*) from arts where s_id = sid);
end//
delimiter ;
2.
explain select * fromfruits where f_name like '%x';
explain select * fromfruits where f_name like 'x%';
3.
mysqldump-u root-p --databasesbooksDB test >
d:\backup\books_testDB_20170301.sql
4.
declare bookname char(50);
declare bookprice decimal(8,2);
select b_name,b_price into bookname, bookprice
frombooks where b_id ='a1101';
5.
create index index_name on fruits(f_name);
explain select * fromfruits where f_name='apple';
6.
declare id int default 0;
add_loop: loop
set id = id + 1;
if id >= 10 thenleave add_loop;
end if;
end loop add_ loop;
四、 简答题(每小题3分,共12分)
1. 简述性能优化的目标和功能。
2. 简述共享锁与排他锁的作用。
3. 简述用户访问MySQL服务器数据的工作流程。
4. 简述使用视图的优点。
五、 综合题(每小题4分,共40分)
现有MySQL数据库teach中的3个表,表结构分别描述如下:
student(学号 char(9) primary key,姓名 char(10),住址 varchar(20),性别 char(2),系名 char(12))
course(课程号 char(6) primary key,课程名 char(12),学时 int,教师编号 char(6))
c_select (学号 char(9),课程号 char(6),成绩 int )
按要求使用MySQL语句完成操作。
1. 利用AlterTable命令在c_select表中添加主键“学号+课程号”。并创建外键fk_1,参照student表的学号。
2. 查询姓名为“黄岩”的学生所选课程的“课程名”及“成绩”。
3. 创建视图V_update,检索所有选修课程号为c05126的学生的学号、课程号及成绩。
4. 创建存储过程upcourse修改课程名称,提示输入参数为课程号,输出参数为旧的课程名称与新的课程名称。
5. 调用存储过程,并查看课程名的修改情况。
6. 添加登录名为tuser,密码为123abc的MySQL登录账户。用户tuser对当前数据库中的所有表有查询、插入权限,并授予grant权限。
7. 使用revoke语句收回tuser用户的所有权限,包括grant权限。
8. 使用mysqldump命令备份数据库中的c_select表,备份路径为d:/bak/,备份文件名为teach_cs.sql。
9. 创建一个after触发器,要求实现以下功能: 在c_select表上创建一个触发器tr_select,当在c_select表字段中修改“成绩”后,触发该触发器,检查“成绩”值是否在0~100。
10. 使用select into...outfile语句,备份表student的全部数据到d盘的bak目录下一个名为backupstudent.txt的文件中,要求字段值如果是字符则用双引号标注,字段值之间用逗号隔开,每行以问号为结束标志。
MySQL数据库模拟试题1参考答案
一、 选择题(每题1分,共20分)
1~5. CBDBD6~10. BADDB11~15. AAAAA16~20. AABDA
二、 填空题(每空1分,共10分)
1. 实体属性
2. my.ini
3. 完全安装
4. 整数,“auto increment”
5. null
6. primary key
7. index
8. ignore
三、 阅读程序,指出下列程序段的功能(每题3分,共18分)
1. 创建存储过程,输出arts表的指定记录的数量。
2. 利用explain分析比较查询语句中使用like关键字,并且匹配的字符串中含有“%”符时的结果。
3. 使用mysqldump备份booksDB和test数据库。
4. 声明变量bookname和bookprice,通过select ... into语句查询指定记录并为变量赋值。
5. 创建索引,分析使用索引时的查询情况。
6. 使用loop语句进行循环操作,id值小于等于10之前,将重复执行循环过程。
四、 简答题(每小题3分,共12分)
1. 优化性能是通过某些高效的方法提高MySQL数据库的性能,其目的是为了使MySQL数据库运行速度更快、占用的磁盘空间更小。性能优化包括优化查询速度、优化更新速度、优化MySQL服务器等。优化MySQL数据库是数据库管理员的必备技能。
在实际工作中,数据的查询优化可以有效地提高MySQL数据库的性能。一个成功的数据库应用系统的开发,在查询优化方面一定会付出资源。对查询优化的处理,不仅会影响到数据库的工作效率,而且会给社会带来较高的效益。
2. 排他锁又称为X锁。如果事务T1获得了数据行D上的排他锁,则T1对数据行既可读又可写。事务T1对数据行D加上排他锁,则其他事务对数据行D的任务封锁请求都不会成功,直至事务T1释放数据行D上的排他锁。
共享锁又称为S锁。如果事务T1获得了数据行D上的共享锁,则T1对数据项D可以读但不可以写。事务T1对数据行D加上共享锁,则其他事务对数据行D的排他锁请求不会成功,而对数据行D的共享锁请求可以成功。
3. 用户访问MySQL服务器数据的工作流程具体包括如下内容:
(1) 数据库用户访问MySQL服务器的数据时,首先需要选择一台登录主机,然后在该登录主机上开启客户机,输入正确的账户名、密码,建立一条客户机与服务器之间的“通信链路”。
(2) 接着数据库用户就可以在MySQL客户机上输入MySQL命令,这些命令沿着该通信链路传送给MySQL服务实例,这个过程称为客户机向MySQL服务器发送请求。
(3) 服务实例负责解析这些MySQL命令,并选择一种执行计划运行这些命令,然后将执行结果沿着通信链路返回给客户机,这个过程称为服务器向MySQL客户机返回响应。
(4) 数据库用户关闭客户机,通信链路被断开,该客户机对应的会话结束。
4. 视图为数据库用户提供了很多的便利,主要包括以下几个方面:
(1) 简化数据查询和处理。视图可以为用户集中多个表中的数据,简化用户对数据的查询和处理。
(2) 屏蔽数据库的复杂性。数据库表的更改不影响用户对数据库的使用,用户也不必了解复杂的数据库中的表结构。例如,那些定义了若干张表连接的视图,就将表与表之间的连接操作对用户隐蔽起来了。
(3) 安全性。如果想要使用户只能查询或修改用户有权限访问的数据,也可以只授予用户访问视图的权限,而不授予访问表的权限,这样就提高了数据库的安全性。
五、 综合题(每小题4分,共40分)
1.
altertable c_select
add primer key (学号,课程号);
alter table c_select add constraint fk_1 foreign key (学号)
references student(学号)
on update restrict
on delete set null;
2.
select s.姓名,k.课程名,x.成绩
from course k,student s, c_select x
where k.课程号=x.课程号 and s.学号=x.学号 and s.姓名='黄岩';
3.
create view V_update
as
select * from c_select where 课程号='c05126';
select * from v_update;
4.
delimiter //
create procedure upcourse(in courseid char(6),in newname1 char(9),
out oldname char(9), out newname2 char(9))
begin
set newname2=newname1;
select oldname=课程名 from course
where 课程号=courseid;
update course set 课程名=newname1
where 课程号=courseid;
end //
delimiter;
5.
select * from course;
exec upcourse ('c05126','MySQL', @name1,@name2);
select @name1+'已更改为: '+@name2;
6.
grant select,insert on * to 'tuser'@'localhost'
identified by '123abc '
with grant option;
7.
revoke all privileges,grant option
from tuser@localhost;
8.
mysqldump -u root -p teachc_select> d:/bak/teaching_ss.sql
9.
delimiter //
create triger tr_select on c_select
after update for each row
begin
update fromc_selectset c_select.成绩=old.成绩
where new.成绩>100 or new.成绩
end//
delimiter ;
10.
select *fromstudent
into outfile 'd:/bak/backupstudent.txt'
fields
terminated by','
optionally enclosed by ""
lines
terminated by'?';
MySQL数据库模拟试题2
说明: 本试题为笔试方式,考试时间100分钟,总计100分。
一、 选择题(每题1分,共20分)
1. 语句“select dayofmonth(curdate())'month';”的输出结果为。
A. monthB. 当前日期C. 本月第几天D. 当前月份
2. 候选码的属性可以有。
A. 多个B. 0个C. 1个D. 1个或多个
3. 在MySQL的安装过程中,若选用“启用TCP/IP网络”,则MySQL会默认选用的端口号是。
A. 1521B. 5560C. 3306D. 80
4. 一个触发器能定义在表中。
A. 一个B. 一个或者多个C. 一个到三个D. 任意多个
5. 在MySQL中,通常使用语句来进行数据的检索、输出操作。
A. selectB. insertC. deleteD. update
6. 在select语句中,可以使用子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算。
A. limitB. group byC. whereD. order by
7. 查看现在的数据库mysqltest中所有表的命令是。
A. show databases;B. create database mysqltest;
C. use mysqltest; (回车)D. show tables;
8. 用文本方式将数据装入数据库表中的命令是。
A. load data infile “D:/mysql.txt” into table mytable;
B. source d:/mysql.sql;
C. drop table mytable;
D. delete from mytable;
9. 用于显示表的结构的命令是。
A. create table mytable (name varchar(20), sex char(1));
B. describe mytable;
C. insert into mytable values ("hyq","M");
D. update mytable set sex="f" where name='hyq';
10. 在mysql>提示行下输入可以显示帮助命令。
A. helpB. helpsC. \hD. A或C
11. 在MySQL中,可以使用insert或语句,向数据库中一个已有的表插入一行或多行元组数据。
A. selectB. insertC. replaceD. update
mysql数据库应用与开发姜桂洪 课后答案
第3部分MySQL数据库模拟试题及参考答案
学习导读:
本部分包括6套MySQL数据库的模拟试题和参考答案,涵盖了本课程的主要知识点,可以帮助读者了解和检验自己的学习情况。
前4套以MySQL基本知识和基本操作为重点内容,第5套有个别题目是PHP软件内容,第6套添加了数据库设计方面的内容。
MySQL数据库模拟试题1
说明: 本试题为笔试方式,考试时间100分钟,总计100分。
一、 选择题(每题1分,共20分)
1. 下面标识符不合法的是。
A. null_1B. _mysqlC. 3moneyD. trigger1
2. MySQL数据库无处不在的数据危险不包括。
A. 系统故障B. 计划故障C. 介质故障D. 事务故障
3. 使用select将表中数据导出到文件,可以使用子句。
A. to fileB. into fileC. out to fileD. into outfile
4. 一个关系只有一个。
A. 候选码B. 主码C. 外码D. 超码
5. 基于“学生选课课程”数据库中的3个关系:
stu(sno,sname,sex,department),主码是sno
course(cno,cname,teacher),主码是cno
sc(Sno,cno,grade),主码是(sno,cno)
在下列关于保持数据库完整性的叙述中,是不正确的。
. A. 向关系sc插入元组时,sno和cno都不能是空值(null)
B. 可以任意删除关系sc中的元组
C. 向任何一个关系插入元组时,必须保证该关系主码值的唯一性
D. 可以任意删除关系cno中的元组
6. 要想移除账户,应使用语句。
A. delete userB. drop userC. delete privD. drop priv
7. 触发器可以创建在中。
A. 表B. 索引C. 事件D. 函数
8. 使用语句删除触发器trig_test。
A. drop * from trig_Test
B. drop trig_Tes
C. drop triger where name='trig_Test'
D. drop triger trig_Test
9. 在SQL语言中,子查询是。
A. 返回单表中数据子集的查询语句
B. 选取多表中字段子集的查询语句
C. 选取单表中字段子集的查询语句
D. 嵌入到另一个查询语句之中的查询语句
10. 在数据库设计中,ER模型是进行的一个主要工具。
A. 需求分析B. 概念设计C. 逻辑设计D. 物理设计
11. 通过以下语句临时关闭事件e_test。
A. alter event e_test disableB. alter event e_test drop
C. alter event e_test enableD. alter event e_test delete
12. 视图是一个虚表,视图的构造基于。
A. 基表或视图B. 基表或索引
C. 视图或索引D. 基表、视图或索引
13. 设s_avg(sno,avg_grade)是一个基于关系sc定义的学号和他的平均成绩的视图。下面对该视图的操作语句中,是不能正确执行的。
Ⅰ. update s_avg set avg_grade=90 where sno=2017010601
Ⅱ. select sno, avg_grade from s_avg where sno=2017010601
A. 仅ⅠB. 仅ⅡC. 都能D. 都不能
14. 如果关系模式R属于1NF,且每个非主属性都完全函数依赖于R的主码,则R属于。
A. 2NFB. 3NFC. BCNFD. 4NF
15. 可用于从表或视图中检索数据的MySQL语句是。
A. selectB. insertC. updateD. delete
16. MySQL安装成功后,在系统中会默认建立一个用户。
A. rootB. userC. mysqlD. sys
17. 当使用select语句返回的结果集中行数很多时,为了便于用户对结果数据的浏览和操作,可以使用子句来限制被select语句返回的行数。
A. limit语句B. insert语句C. update语句D. delete语句
18. delete from Stu where年龄>60语句的功能是。
A. 从Stu表中彻底删除记录
B. Stu表中年龄大于60岁的记录被删除
C. 删除Stu表
D. 删除Stu表的年龄列
19. 索引可以提高哪一操作的效率?
A. insertB. updateC. deleteD. select
20. 在MySQL中,可以使用语句删除表中的全部数据而保留表结构。
A. limitB. outerC. dropD. truncate
二、 填空题(每空1分,共10分)
1. 在ER图中,矩形表示,椭圆形表示。
2. 保存在MySQL安装目录中的选项文件名是。
3. MySQL安装包含典型安装、定制安装和3种安装类型。
4. 如果一个列是类型,则可以使用关键字指定该列的值自动增加。
5. 在MySQL中,通常使用值来表示一个列是未确定值的情形。
6. 将一个列设置为主键的方法是,在列的定义中使用子句。
7. 创建普通索引时,通常使用的关键字是。
8. 如果使用关键词,则即使在更新过程中出现错误,更新语句也不会中断。
三、 阅读程序,指出下列程序段的功能(每题3分,共18分)
1.
delimiter //
createfunctioncount_pro (sidint)returns int
begin
return(select count(*) from arts where s_id = sid);
end//
delimiter ;
2.
explain select * fromfruits where f_name like '%x';
explain select * fromfruits where f_name like 'x%';
3.
mysqldump-u root-p --databasesbooksDB test >
d:\backup\books_testDB_20170301.sql
4.
declare bookname char(50);
declare bookprice decimal(8,2);
select b_name,b_price into bookname, bookprice
frombooks where b_id ='a1101';
5.
create index index_name on fruits(f_name);
explain select * fromfruits where f_name='apple';
6.
declare id int default 0;
add_loop: loop
set id = id + 1;
if id >= 10 thenleave add_loop;
end if;
end loop add_ loop;
四、 简答题(每小题3分,共12分)
1. 简述性能优化的目标和功能。
2. 简述共享锁与排他锁的作用。
3. 简述用户访问MySQL服务器数据的工作流程。
4. 简述使用视图的优点。
五、 综合题(每小题4分,共40分)
现有MySQL数据库teach中的3个表,表结构分别描述如下:
student(学号 char(9) primary key,姓名 char(10),住址 varchar(20),性别 char(2),系名 char(12))
course(课程号 char(6) primary key,课程名 char(12),学时 int,教师编号 char(6))
c_select (学号 char(9),课程号 char(6),成绩 int )
按要求使用MySQL语句完成操作。
1. 利用AlterTable命令在c_select表中添加主键“学号+课程号”。并创建外键fk_1,参照student表的学号。
2. 查询姓名为“黄岩”的学生所选课程的“课程名”及“成绩”。
3. 创建视图V_update,检索所有选修课程号为c05126的学生的学号、课程号及成绩。
4. 创建存储过程upcourse修改课程名称,提示输入参数为课程号,输出参数为旧的课程名称与新的课程名称。
5. 调用存储过程,并查看课程名的修改情况。
6. 添加登录名为tuser,密码为123abc的MySQL登录账户。用户tuser对当前数据库中的所有表有查询、插入权限,并授予grant权限。
7. 使用revoke语句收回tuser用户的所有权限,包括grant权限。
8. 使用mysqldump命令备份数据库中的c_select表,备份路径为d:/bak/,备份文件名为teach_cs.sql。
9. 创建一个after触发器,要求实现以下功能: 在c_select表上创建一个触发器tr_select,当在c_select表字段中修改“成绩”后,触发该触发器,检查“成绩”值是否在0~100。
10. 使用select into...outfile语句,备份表student的全部数据到d盘的bak目录下一个名为backupstudent.txt的文件中,要求字段值如果是字符则用双引号标注,字段值之间用逗号隔开,每行以问号为结束标志。
MySQL数据库模拟试题1参考答案
一、 选择题(每题1分,共20分)
1~5. CBDBD6~10. BADDB11~15. AAAAA16~20. AABDA
二、 填空题(每空1分,共10分)
1. 实体属性
2. my.ini
3. 完全安装
4. 整数,“auto increment”
5. null
6. primary key
7. index
8. ignore
三、 阅读程序,指出下列程序段的功能(每题3分,共18分)
1. 创建存储过程,输出arts表的指定记录的数量。
2. 利用explain分析比较查询语句中使用like关键字,并且匹配的字符串中含有“%”符时的结果。
3. 使用mysqldump备份booksDB和test数据库。
4. 声明变量bookname和bookprice,通过select ... into语句查询指定记录并为变量赋值。
5. 创建索引,分析使用索引时的查询情况。
6. 使用loop语句进行循环操作,id值小于等于10之前,将重复执行循环过程。
四、 简答题(每小题3分,共12分)
1. 优化性能是通过某些高效的方法提高MySQL数据库的性能,其目的是为了使MySQL数据库运行速度更快、占用的磁盘空间更小。性能优化包括优化查询速度、优化更新速度、优化MySQL服务器等。优化MySQL数据库是数据库管理员的必备技能。
在实际工作中,数据的查询优化可以有效地提高MySQL数据库的性能。一个成功的数据库应用系统的开发,在查询优化方面一定会付出资源。对查询优化的处理,不仅会影响到数据库的工作效率,而且会给社会带来较高的效益。
2. 排他锁又称为X锁。如果事务T1获得了数据行D上的排他锁,则T1对数据行既可读又可写。事务T1对数据行D加上排他锁,则其他事务对数据行D的任务封锁请求都不会成功,直至事务T1释放数据行D上的排他锁。
共享锁又称为S锁。如果事务T1获得了数据行D上的共享锁,则T1对数据项D可以读但不可以写。事务T1对数据行D加上共享锁,则其他事务对数据行D的排他锁请求不会成功,而对数据行D的共享锁请求可以成功。
3. 用户访问MySQL服务器数据的工作流程具体包括如下内容:
(1) 数据库用户访问MySQL服务器的数据时,首先需要选择一台登录主机,然后在该登录主机上开启客户机,输入正确的账户名、密码,建立一条客户机与服务器之间的“通信链路”。
(2) 接着数据库用户就可以在MySQL客户机上输入MySQL命令,这些命令沿着该通信链路传送给MySQL服务实例,这个过程称为客户机向MySQL服务器发送请求。
(3) 服务实例负责解析这些MySQL命令,并选择一种执行计划运行这些命令,然后将执行结果沿着通信链路返回给客户机,这个过程称为服务器向MySQL客户机返回响应。
(4) 数据库用户关闭客户机,通信链路被断开,该客户机对应的会话结束。
4. 视图为数据库用户提供了很多的便利,主要包括以下几个方面:
(1) 简化数据查询和处理。视图可以为用户集中多个表中的数据,简化用户对数据的查询和处理。
(2) 屏蔽数据库的复杂性。数据库表的更改不影响用户对数据库的使用,用户也不必了解复杂的数据库中的表结构。例如,那些定义了若干张表连接的视图,就将表与表之间的连接操作对用户隐蔽起来了。
(3) 安全性。如果想要使用户只能查询或修改用户有权限访问的数据,也可以只授予用户访问视图的权限,而不授予访问表的权限,这样就提高了数据库的安全性。
五、 综合题(每小题4分,共40分)
1.
altertable c_select
add primer key (学号,课程号);
alter table c_select add constraint fk_1 foreign key (学号)
references student(学号)
on update restrict
on delete set null;
2.
select s.姓名,k.课程名,x.成绩
from course k,student s, c_select x
where k.课程号=x.课程号 and s.学号=x.学号 and s.姓名='黄岩';
3.
create view V_update
as
select * from c_select where 课程号='c05126';
select * from v_update;
4.
delimiter //
create procedure upcourse(in courseid char(6),in newname1 char(9),
out oldname char(9), out newname2 char(9))
begin
set newname2=newname1;
select oldname=课程名 from course
where 课程号=courseid;
update course set 课程名=newname1
where 课程号=courseid;
end //
delimiter;
5.
select * from course;
exec upcourse ('c05126','MySQL', @name1,@name2);
select @name1+'已更改为: '+@name2;
6.
grant select,insert on * to 'tuser'@'localhost'
identified by '123abc '
with grant option;
7.
revoke all privileges,grant option
from tuser@localhost;
8.
mysqldump -u root -p teachc_select> d:/bak/teaching_ss.sql
9.
delimiter //
create triger tr_select on c_select
after update for each row
begin
update fromc_selectset c_select.成绩=old.成绩
where new.成绩>100 or new.成绩
end//
delimiter ;
10.
select *fromstudent
into outfile 'd:/bak/backupstudent.txt'
fields
terminated by','
optionally enclosed by ""
lines
terminated by'?';
MySQL数据库模拟试题2
说明: 本试题为笔试方式,考试时间100分钟,总计100分。
一、 选择题(每题1分,共20分)
1. 语句“select dayofmonth(curdate())'month';”的输出结果为。
A. monthB. 当前日期C. 本月第几天D. 当前月份
2. 候选码的属性可以有。
A. 多个B. 0个C. 1个D. 1个或多个
3. 在MySQL的安装过程中,若选用“启用TCP/IP网络”,则MySQL会默认选用的端口号是。
A. 1521B. 5560C. 3306D. 80
4. 一个触发器能定义在表中。
A. 一个B. 一个或者多个C. 一个到三个D. 任意多个
5. 在MySQL中,通常使用语句来进行数据的检索、输出操作。
A. selectB. insertC. deleteD. update
6. 在select语句中,可以使用子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算。
A. limitB. group byC. whereD. order by
7. 查看现在的数据库mysqltest中所有表的命令是。
A. show databases;B. create database mysqltest;
C. use mysqltest; (回车)D. show tables;
8. 用文本方式将数据装入数据库表中的命令是。
A. load data infile “D:/mysql.txt” into table mytable;
B. source d:/mysql.sql;
C. drop table mytable;
D. delete from mytable;
9. 用于显示表的结构的命令是。
A. create table mytable (name varchar(20), sex char(1));
B. describe mytable;
C. insert into mytable values ("hyq","M");
D. update mytable set sex="f" where name='hyq';
10. 在mysql>提示行下输入可以显示帮助命令。
A. helpB. helpsC. \hD. A或C
11. 在MySQL中,可以使用insert或语句,向数据库中一个已有的表插入一行或多行元组数据。
A. selectB. insertC. replaceD. update