全国计算机二级MySQL操作题.docx
《全国计算机二级MySQL操作题.docx》由会员分享,可在线阅读,更多相关《全国计算机二级MySQL操作题.docx(23页珍藏版)》请在冰豆网上搜索。
全国计算机二级MySQL操作题
1.
一个用于存放学生选课信息的数据库XK,由学生信息表student、课程信息表course和选课信息表ordering构成。
其中,表student记录学生的学号、、性别、年龄等信息;表course记录课程的课程号、课程名称、授课教室等信息;表ordering描述学生的选课信息,并记录学生所选课程的成绩。
在考生文件夹下已创建了数据库XK、表student、表course和表ordering,并初始化了相应数据,请考生查阅其结构与数据,完成下列操作。
注意:
以下操作题必须编写相应的SQL语句,并至少执行一次该命令。
1)使用UPDATE语句,将表student中字段stu_id为0002的学生年龄更新为"20"。
2)使用SELECT语句查询学生信息表中所有男生的,且按年龄的升序排序,最后把此SELECT语句存入考生文件夹下的sj12.txt文件中。
3)使用SELECT语句查询课程成绩不与格的学生,并此SELECT语句存入考生文件夹下的sj13.txt文件中。
4)建立一个名为stu_user的用户,并为其授予关于表student的SELECT、INSERT权限。
5)使用INSERT语句向表ordering中添加如下一条信息:
学号为0001的学生选修了课程号为005的课程,因该课程尚未结束,故目前没有成绩。
1)使用如下SQL语句可在数据库XK中创建一个触发器,其实现在表student中删除学生信息时,可自动删除该学生的选课信息。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2)使用如下SQL语句可在数据库XK中创建一个存储过程,用于实现给定表course中一个课程号course_id,即可为表course中该课程号所对应的课程指定一个新的授课教室。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2使用如下SQL语句可在数据库XK中创建一个触发器,其实现在表student中删除学生信息时,可自动删除该学生的选课信息。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2)使用如下SQL语句可在数据库XK中创建一个存储过程,用于实现给定表course中一个课程号course_id,即可为表course中该课程号所对应的课程指定一个新的授课教室。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
3生文件夹下存有一个sj3.php文件简单的PHP程序,可实现通过该程序从数据库XK中查询出所有女同学的学号和,并能以网页表格的形式列出这些学生的学号和信息。
请考生在横线处填上适当的容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文件名保存在考生文件夹下,否则没有成绩。
2
一个用于存放学生借阅图书信息的数据库JY,由学生信息表student、图书信息表book和借阅信息表reading构成。
其中,表student记录学生的学号、、性别和年龄等信息;表book记录图书的书号、书名、作者和价格等信息;表reading描述图书借阅信息,并记录为学生办理图书借阅的老师。
在考生文件夹下已创建了数据库JY、表student、表book和表reading,并初始化了相应数据,请考生查阅其结构与数据,完成下列操作。
注意:
以下操作题必须编写相应的SQL语句,并至少执行一次该命令。
1)在数据库JY中,使用CREATE语句创建一个记录社号、社名和地址等信息的表publisher,包括pub_id(社号)、pub_name(社名)、pub_address(地址)等三个字段,相应的字段类型分别为整型、字符串型(char(30))和字符串型(char(30)),要求pub_id字段作为该表的主键,pub_name和pub_address字
段不能为空。
2)使用ALTER语句,修改表book的表结构,为其添加一个名为pub_post的列,用于关联图书的信息,该列值允许为NULL,数据类型为整型。
3)使用INSERT语句向表reading中添加如下一条借阅信息:
名为"wen"的老师为学号0008的学生办理了书号为006的图书借阅。
4)使用DELETE语句删除表reading中学号为0003学生的借阅信息。
5)使用SELECT语句查询书号为003的书名,并此SELECT语句存入考生文件夹
1)创建一个名称为v_student的视图,能够查询借阅了书名为"高等数学"的学生全部信息。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2)创建一个存储过程,功能是将书名中含有"计算机"的所有图书价格增加10%。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
在考生文件夹下存有一个sj3.php文件简单的PHP程序,可实现通过该程序从数据库JY中检索所有图书的信息,并以网页表格形式列出图书的书号、书名、价格和作者。
请考生在横线处填上适当的容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文件名保存在考生文件夹下,否则没有成绩。
3在给定的学生选课数据库xsxk中有一个学生表,包含的属性有学号,,出生日期,学院名称,请按要求完成以下操作。
1.使用SQL命令在学生表中增加一个属性列,以记录学生的号,类型为varchar,长度为20,允许为空。
2.使用SQL语句为选课表上的学号字段建立外码FK_XH。
3.使用SQL命令查询每个学院的学生总人数,要求给学生总人数取别名:
总人数,显示学院名称和总人数,并将此SELECT语句存入考生文件夹下的sj13.txt文件中。
4.使用SQL命令查询没有选过任何课程的学生学号,,出生日期,学院名称,并将此SELECT语句存入考生文件夹下的sj14.txt文件中。
5.为"信息学院"的学生设计一个视图V_选课(,课程名称,课程学分,成绩)。
给定xsxk(学生选课)数据库中包含学生、课程和选课三个数据表,请按要求
完成以下操作。
1.设计一个名称为fn_学分的存储函数,根据给定的课程名称返回该课程对应的学分。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2.设计一个存储过程PR_学分,根据学号返回学生的总学分(注意:
成绩>=60分才能获得相应的学分)。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
在考生文件夹下存有一个sj3.php文件简单的PHP程序,是对学生选课数据库设计一个查询学生成绩的页面,要求根据学号和课程名称查询学生的成绩。
该程序是不完整的,请在注释"//**********found**********"下一行填入正确的容,然后删除下划线,但不要改动程序中的其他容,也不能删除或移动"//**********found**********"。
修改后的程序存盘时不得改变文件名和文件夹。
4学生选课数据库xsxk中包含学生、课程和选课三个数据表,请按要求完成以下操作。
1.使用SQL命令在选课表上根据学号和课程名称采用BTREE的索引类型创建一个复合索引index_选课。
2.使用SQL命令查询"C语言程序设计"这门课程成绩前三名学生的学号、课程名称和成绩,并将此SELECT语句存入考生文件夹下的sj12.txt文件中。
3.使用SQL命令查询同时选修"C语言程序设计"和"操作系统"两门课程的学生学号,并将此SELECT语句存入考生文件夹下的sj13.txt文件中。
4.设计一个视图V_成绩(课程名称、平均成绩),要求显示课程名称和每门课程平均成绩(保留2位小数),并按平均成绩降序排列。
(提示:
使用函数ROUND(xfloat,yint)取小数位数)
5.创建test用户,并将xsxk的所有权限赋予test用户。
给定学生选课数据库xsxk中包含学生、课程和选课三个数据表,请按要求完成以下操作。
1.设计一个名称为tr_选课的触发器,完成的功能是:
当在选课表上插入一条记录之前,若该记录中的学号和课程名称在学生表和课程表中不存在,则在相关表中插入相应记录。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2.设计一个存储函数fn_平均成绩,根据学生返回学生的平均成绩。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩
在考生文件夹下存有一个sj3.php文件的简单PHP程序,是对学生选课数据库xsxk设计一个查询学生选修课程的总学分页面,要求根据学号查询学生的总学分。
该程序是不完整的,请在注释行"//**********found**********"下一行填入正确的容,然后删除下划线,但不要改动程序中的其他容,也不能删除或移动"//**********found**********"。
修改后的程序存盘时不得改变文件名和文件夹。
5
在考生文件夹下有kwgl数据库,存放试题中所提与的数据表。
1.现有学生模型:
S(SNO,SName,Sex,Age)(说明:
学号,,性别,年龄),现要求创建该表,SNO列为主键自动增长整数列,SName(char(10)),性别使用char
(1),值"M/F"分别表示"男/女",年龄字段为整型。
请编写SQL语句创建该表,并按(,年龄,性别)的形式完成一条记录("wangwei",21,"F")的插入操作。
2.对于所创建的学生表S,要求按照性别进行分组统计学生的平均年龄,并按照下面的方式输出,并将此SELECT语句存入考生文件夹下的sj12.txt文件中。
+------+----------+
|性别|平均年龄|
+------+----------+
|||
|||
+------+----------+
3.现有公司表:
company(id,company_name,location)(说明:
编号,公司名称,公司所处城市)。
请编写SQL语句查出所有位于同一个城市的公司名称对(两个不同公司的名称)、以与它们所处的城市名称,要求结果按照下面的格式输出,并将此SELECT语句存入考生文件夹下的sj13.txt文件中。
(可包括所有不同顺序的公司名称对)
+------------+-----------+----------+
|company1|company2|location|
+------------+-----------+----------+
||||
||||
+------------+-----------+----------+
4.kwgl数据库中有学生表(student)、系别表(dept):
student:
{sid,sname,score,deptno}(字段说明:
学号,,成绩,系别编号)dept:
{deptno,deptname}(字段说明:
系别编号,系名称)
请编写SQL语句查出各个系中,成绩高于该系平均成绩的学生人数,要求查询出系名称和具体人数,并将此SELECT语句存入考生文件夹下的sj14.txt文件中。
+----------+----------+
|deptname|count(*)|
+----------+----------+
|||
+----------+----------+
5.为了让市场部的新用户wang能够访问MySQL服务器,
①管理员用CREATE语句
为其创建了一个名为wang的用户,并处于安全考虑,将其登录位置指定为市场部IP:
192.168.2.12,密码为"1A*g=";当该用户尝试访问市场部数据库market时,发现管理员并未授予其权限。
②管理员使用授权语句,对用户wang授予market数据库上的所有权限,并允许其进行权限转移。
请编写出这里提到的语句①②,分别完成用户创建、用户密码修改和用户
权限授予。
在考生文件夹下有kwgl数据库,存放试题中所提与的数据表。
1.现有Customers表,其中列customerNumber为客户编号(整数列)、列creditlimit信贷限额(整数列)记录了某个用户当前的透支上限,请修改一个存储过程,要求根据输入的客户编号,通过一个输出参数得出用户的评级情况(字符串)。
若当前信贷限额大于50000,则用户评级为"1stLevel";若当
前信贷限额大于等于10000且小于等于50000,则用户评级为"2ndLevel";若当前信贷限额小于10000,则用户评级为"3rdLevel"。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2.kwgl数据库中有学生表(student)、系别表(dept):
student:
{sid,sname,score,deptno}(字段说明:
学号,,成绩,系别编号)
dept:
{deptno,deptname}(字段说明:
系别编号,系名称)
请修改函数GetAvgScoreByDeptName计算指定系的学生平均成绩,输入系名字符串,返回DOUBLE类型的平均成绩。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
在考生文件夹下有kwgl数据库,存放试题中所提与的数据表。
kwgl数据库中有学生表(student)、系别表(dept):
student:
{sid,sname,score,deptno}(字段说明:
学号,,成绩,系别编号)dept:
{deptno,deptname}(字段说明:
系别编号,系名称)
在考生文件夹下有一个sj.php页面,如下图所示:
初始情况下(即直接访问sj3.php时),显示出deptno=10001的院系。
然后,在下拉框中列出所有院系的名称(deptname),在点击提交按钮时,根据用户的选择,使用Get方式,再次将请求发送到本页面进行服务器端处理,根据Get中参数deptno指定的院系编号,检索student表,列出指定院系所有学生的学号和成绩;在此响应中,需保持下拉框中院系的选择情况与用户提交时的选择情况一致。
如下图所示:
请考生在横线处填上适当的容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文件名保存在考生文件夹下,否则没有成绩。
6
在考生文件夹给出的企业数据库db_emp中有职工表tb_employee和部门表tb_dept,tb_employee包含的字段有eno(职工号)、ename()、age(年龄)、title(职务)、salary(工资)和deptno(部门号),tb_dept包含的字段有deptno(部门号)、dname(部门名称)、manager(部门负责人)、
telephone()。
1.用SQL语句完成以下操作:
给企业新增加一个"公关部",部门号为"D4",为"6",并任命"Liming"担任部门负责人。
2.用SQL语句将tb_employee表中salary字段的默认值修改为3500。
3.用SQL语句查询"销售部"的员工总人数,要求查询结果显示为"总人数",并将此SELECT语句存入考生文件夹下的sj13.txt文件中。
4.用SQL语句为"采购部"建立一个员工视图v_emp,包括职工号(eno)、(ename)、年龄(age)和工资(salary)。
5.使用SQL语句,在当前系统中新建一个用户,用户名为Yaoming,主机名为localhost,密码为"abc123",授予其对db_emp数据库中tb_employee表的更新权限,并允许其可以将此权限授予其他人。
在考生文件夹下给出的企业数据库db_emp中包含职工表tb_employee和部门表tb_dept。
1.设计一个名称为tr_emp的触发器,完成的功能是:
当删除部门表中的记录时,将职工表中的部门信息置空。
并使用命令触发该触发器,并查看结果。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2.设计一个名称为fn_emp的存储函数,要求能根据给定的部门名称返回该部
门的工资总和。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生删除下划线,并在下划线处填上适当的容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
在考生文件夹下存有一个sj3.php文件的简单PHP程序,功能是对给定的企业数据库db_emp设计一个职工表tb_employee的操作页面,如下图所示。
要求根据输入的职工号查询该职工的基本信息,点击"修改"按钮可以修改职工的基本信息
但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的容,然后删除下划线,但不要改动程序中的其他容,也不能删除或移动"//**********found***********"。
修改后的程序存盘时不得改变文件名和文件夹。
7在考生文件夹存有一商场信息管理系统的数据库db_mall,其包含一个记录商品有关信息的商品表tb_commodity,该表包含的字段有商品号(cno)、商品名(cname)、商品类型(ctype)、产地(origin)、生产日期(birth)、价格(price)和产品说明(desc1)。
1.使用SQL语句,计算商品表中产的电视机的价格总和(字段名为:
total),并将此SELECT语句存入考生文件夹下的sj11.txt文件中。
2.使用SQL语句,将商品表中的产品说明(desc1)字段删除,以简化该表。
3.使用SQL语句,在商品表中添加如下一行信息,商品名:
钢笔;商品类型:
文具;产地:
;生产日期:
2012-12-25;价格:
25。
4.使用SQL语句,在数据库db_mall中创建一个视图v_bjcommodity,要求该视图包含商品表中产地为的全部商品信息。
5.使用SQL语句,在当前系统中新建一个用户,用户名为client,主机名为localhost,并为其授予对商品表中商品号(cno)字段和商品名(cname)字段的select权限。
在考生文件夹下存有一商场信息管理系统的数据库db_mall,其包含一个记录商品有关信息的商品表tb_commodity,该表包含的字段有商品号(cno)、商品名(cname)、商品类型(ctype)、产地(origin)、生产日期(birth)、价格(price)。
1.请创建一个名为tri_price的触发器,在插入新的商品记录时,能够根据商品的品名和产地自动设置商品的价格,其具体规则如下:
若商品为产的电视机,则价格设置为2800,其它商品价格的设置可为缺省。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。
2.请创建一个名为sp_counter的存储过程,用于计算商品表tb_commodity的商品记录数。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。
在考生文件夹下存有一个名为sj3.php的简单PHP程序文件,其成功运行后可将数据库db_mall的商品表tb_commodity中产地为的电冰箱价格调整为3888。
但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的容,然后删除下划线,但不要改动程序中的其他容,也不能删除或移动"//**********found***********"。
修改后的程序存盘时不得改变文件
名和文件夹。
8在考生文件夹给出的学生数据库db_student中有学生表tb_student和课程成绩表tb_score,tb_student包含的字段有sno(学号)、sname()、sage(年龄)和smajor(专业),tb_score包含的字段有sno(学号)、cname(课程名称)和grade(成绩)。
1.使用SQL语句,在tb_student表中添加一个字段ssex,数据类型为char,长度为1,缺省值为"M"。
2.用SQL语句将学号为100的学生的专业改为"计算机"。
3.用SQL语句在tb_score表上建立一个视图v_avg(cname,caverage),视图的容包含课程名称与课程的平均成绩。
4.用SQL语句在tb_student表上建立关于学号的唯一性索引idx_stu。
5.新建一个名称为newuser的用户,主机名为localhost,并为其授予对tb_student表的select权限。
1.设计一个名称为fn_cmax的存储函数,根据给定的课程名返回选修该课程的最高分,并写出调用函数的语句。
注意:
在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。
,2.设计一个名称为ev_bak的事件,每日零时零分将学生数据库db_student中学生表tb_student的数据备份到考生文件夹下的文件bakfile.txt中。
注意:
在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。
在考生文件夹下存有一个sj3.php文件的简单PHP程序,是对给定的学生数据库db_student设计一个学