mysql数据库试题 2014计算机二级考试mysql数据库测试题
大家好,今天来为大家解答mysql数据库试题这个问题的一些问题点,包括2014计算机二级考试mysql数据库测试题也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
MySQL习题 求数据库高手解答
create table stu1(
Id int auto_increment primary KEY,
Name VARCHAR(20) not null,
Sex varchar(4),
Brith Date,
department VARCHAR(20)not null,
address VARCHAR(50)
)
create table score(
Id INT auto_increment PRIMARY KEY,
stu_id int,
FOREIGN KEY(stu_id) REFERENCES stu1(Id) on DELETE CASCADE,
C_name VARCHAR(20),
grade int
)
SELECT*from stu1
INSERT INTO stu1 VALUES( 901,'张老大','男','1985-06-05','计算机系','北京市海淀区');
INSERT INTO stu1 VALUES( 902,'张老二','男','1986-06-05','中文系','北京市昌平区');
INSERT INTO stu1 VALUES( 903,'张三','女','1990-06-05','中文系','湖南省永州市');
INSERT INTO stu1 VALUES( 904,'李四','男','1990-06-05','英语系','辽宁省阜新市');
INSERT INTO stu1 VALUES( 905,'王五','女','1991-06-05','英语系','福建省厦门市');
INSERT INTO stu1 VALUES( 906,'王六','男','1988-06-05','计算机系','湖南省衡阳市');
SELECT*from Score
INSERT INTO score(stu_id,C_name,grade) VALUES(901,'计算机',98);
INSERT INTO score(stu_id,C_name,grade) VALUES(901,'英语', 80);
INSERT INTO score(stu_id,C_name,grade) VALUES(902,'计算机',65);
INSERT INTO score(stu_id,C_name,grade) VALUES(902,'中文',88);
INSERT INTO score(stu_id,C_name,grade) VALUES(903,'中文',95);
INSERT INTO score(stu_id,C_name,grade) VALUES(904,'计算机',70);
INSERT INTO score(stu_id,C_name,grade) VALUES(904,'英语',92);
INSERT INTO score(stu_id,C_name,grade) VALUES(905,'英语',94);
INSERT INTO score(stu_id,C_name,grade) VALUES(906,'计算机',90);
INSERT INTO score(stu_id,C_name,grade) VALUES(906,'英语',85);
/*查询 student表的第 2条到 4条记录*/
SELECT* from stu1 LIMIT 2,2;
/*从 student表中查询计算机系和英语系的学生的信息*/
SELECT*from stu1 WHERE department in('计算机系','英语系');
/*从 student表中查询年龄 18~22岁的学生信息*/
SELECT YEAR('1990-09-09')
SELECT YEAR(NOW())-YEAR('1990-09-09');
SELECT s.Name,s.age,s.Brith from(SELECT*,YEAR(NOW())-YEAR(Brith)as age FROM stu1)as s WHERE s.age>23 and s.age<28;
/*8.从 student表中查询每个院系有多少人*/
SELECT department,COUNT(id) from stu1 GROUP BY(department);
/*从 score表中查询每个科目的最高分*/
(SELECT C_name,max(grade)as scote_m from Score GROUP BY C_name)as h
SELECT id,h.C_name,h.scote_m FROM score,(SELECT C_name,max(grade)as scote_m from Score GROUP BY C_name)as h
WHERE h.C_name=Score.C_name and h.scote_m=Score.grade;
/*10.查询李四的考试科目(c_name)和考试成绩(grade)*/
SELECT name,C_name,grade from stu1,score where name='李四'and stu1.id=score.stu_id
SELECT stu_id,C_name,grade FROM score WHERE stu_id in(SELECT id FROM stu1 where name='李四')
/*12.计算每个学生的总成绩*/
SELECT grade_sum_t.grade_sum,grade_sum_t.stu_id,NAME,department FROM stu1,
(SELECT sum(grade)as grade_sum,stu_id from score GROUP BY stu_id)as grade_sum_t
where grade_sum_t.stu_id=stu1.id;
/*13.计算每个考试科目的平均成绩*/
SELECT C_name,AVG(grade) from score GROUP BY C_name
/*14.查询计算机成绩低于 95的学生信息*/
SELECT* FROM stu1 WHERE id IN(SELECT stu_id from score WHERE C_name='计算机' AND grade<95);
/*15.查询同时参加计算机和英语考试的学生的信息*/
SELECT* FROM stu1 WHERE id IN(
SELECT stu_id FROM score WHERE C_name='英语' AND stu_id in(
SELECT stu_id FROM score WHERE C_name='计算机'))
/*16.将计算机考试成绩按从高到低进行排序*/
/*18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩*/
SELECT Name,department,C_name,grade FROM stu1,score WHERE stu1.id=score.stu_id AND(Name LIKE'王%' OR Name LIKE'张%');
SELECT*from Score
/*19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩*/
SELECT YEAR(NOW())-YEAR(Brith) FROM stu1;
SELECT Name,YEAR(NOW())-YEAR(Brith) as age,department,C_name,grade FROM stu1,score WHERE stu1.Id=score.stu_id AND address LIKE'湖南%';
/*20-*/
INSERT INTO score(stu_id,C_name,grade) VALUES(903,'物理',80);
INSERT INTO score(stu_id,C_name,grade) VALUES(903,'化学',53);
INSERT INTO score(stu_id,C_name,grade) VALUES(903,'生物',59);
INSERT INTO score(stu_id,C_name,grade) VALUES(904,'物理',55);
INSERT INTO score(stu_id,C_name,grade) VALUES(904,'化学',56);
INSERT INTO score(stu_id,C_name,grade) VALUES(904,'生物',50);
INSERT INTO score(stu_id,C_name,grade) VALUES(905,'物理',100);
INSERT INTO score(stu_id,C_name,grade) VALUES(905,'化学',90);
INSERT INTO score(stu_id,C_name,grade) VALUES(905,'生物',54);
SELECT stu_id,AVG(grade) FROM score WHERE stu_id IN(SELECT stu_id FROM score1 WHERE grade<60 GROUP BY stu_id HAVING COUNT(stu_id)>=2)GROUP BY stu_id
SELECT*FROM score1
mysql数据库面试题(学生表_课程表_成绩表_教师表)
Student(Sid,Sname,Sage,Ssex)学生表
Sid:学号
Sname:学生姓名
Sage:学生年龄
Ssex:学生性别
Course(Cid,Cname,Tid)课程表
Cid:课程编号
Cname:课程名称
Tid:教师编号
SC(Sid,Cid,score)成绩表
Sid:学号
Cid:课程编号
score:成绩
Teacher(Tid,Tname)教师表
Tid:教师编号:
Tname:教师名字
1、插入数据
2、删除课程表所有数据
3、将学生表中的姓名张三修改为张大山
或者
4、查询姓’李’的老师的个数:
5、查询所有课程成绩小于60的同学的学号、姓名:
6、查询没有学全所有课的同学的学号、姓名
7、查询平均成绩大于60分的同学的学号和平均成绩
8、查询学过“100”并且也学过编号“101”课程的同学的学号、姓名
9、查询“100”课程比“101”课程成绩高的所有学生的学号
10、查询课程编号“100”的成绩比课程编号“101”课程高的所有同学的学号、姓名
11、查询学过“鲁迅”老师所教的所有课的同学的学号、姓名
12、查询所有同学的学号、姓名、选课数、总成绩
13、查询至少有一门课与学号为“1”同学所学相同的同学的学号和姓名
14、把“SC”表中“鲁迅”老师教的课的成绩都更改为此课程的平均成绩,
错误
15、查询和“2”学号的同学学习的课程完全相同的其他同学学号和姓名
16、删除学习“鲁迅”老师课的SC表记录
17、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、002号课的平均成绩
18、查询各科成绩最高和最低的分:以如下的形式显示:课程ID,最高分,最低分
19、按各科平均成绩从低到高和及格率的百分数从高到低顺序
20、查询如下课程平均成绩和及格率的百分数(用”1行”显示):数学(100),语文(101),英语(102)
22、查询不同老师所教不同课程平均分从高到低显示
23、查询如下课程成绩第3名到第6名的学生成绩单:数学(100),语文(101),英语(102)
23、统计下列各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[小于60]
24、查询学生平均成绩及其名次
25、查询各科成绩前三名的记录(不考虑成绩并列情况)
26、查询每门课程被选修的学生数
27、查询出只选修一门课程的全部学生的学号和姓名
28、查询男生、女生人数
29、查询姓“张”的学生名单
30、查询同名同姓的学生名单,并统计同名人数
31、1981年出生的学生名单(注:student表中sage列的类型是datetime)
32、查询平均成绩大于85的所有学生的学号、姓名和平均成绩
33、查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列
34、查询课程名称为“英语”,且分数低于60的学生名字和分数
35、查询所有学生的选课情况
36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数
37、查询不及格的课程,并按课程号从大到小的排列
38、查询课程编号为“101”且课程成绩在80分以上的学生的学号和姓名
39、求选了课程的学生人数:
40、查询选修“鲁迅”老师所授课程的学生中,成绩最高的学生姓名及其成绩
41、检索至少选修两门课程的学生学号
42、查询全部学生都选修的课程的课程号和课程名(1.一个课程被全部的学生选修,2.所有的学生选择的所有课程)
43、查询没学过“鲁迅”老师讲授的任一门课程的学生姓名
44、查询两门以上不及格课程的同学的学号及其平均成绩
45、检索“101”课程分数小于60,按分数降序排列的同学学号
46、删除“2”同学的“101”课程的成绩
2014计算机二级考试mysql数据库测试题
为大家收集整理了《2014计算机二级考试mysql数据库测试题》供大家参考,希望对大家有所帮助!!!
一,填空题(每空4分,共40分) 1.如果一个MySQL的版本号没有后缀,表示该版本已经在很多地方运行一段时间了,而且
没有非平台特定的错误报告。我们通常称之为版。
2.可以用几种方式提供MySQL程序的选项:
(1)在命令行中在程序名后面提供。
(2)在程序启动时读取的中设置。
(3)在中设置。
3.在创建数据库时,可以使用子句确保如果数据库不存在就创建它,如果存在就直接使用它。
4.类型的数据可以理解成只能取指定的几个值的字符串。
5.在创建表格时,可以使用关键词使当前建立的表为临时表。
6.从表a中选择第10条到第20条记录可以使用如下语句:select* from a 10 10
7.创建索引通常使用语句,
该语句最终会被MySQL转换成相应的语句执行。
二.选择题(每题2分,共20分)
1.以下关于MySQL的说法中错误的是:
A. MySQL是一种关系型数据库管理系统
B. MySQL软件是一种开放源码软件
C. MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中
D. MySQL完全支持标准的SQL语句
2.以下关于MySQL配置向导的说法中错误的是:
A. MySQL安装完毕后,会自动启动MySQL配置向导
B. MySQL配置向导用于配置Windows中的服务器
C. MySQL配置向导将用户选择结果放到模板中生成一个my.ini文件
D. MySQL配置向导可以选择两种配置类型:标准配置和详细配置
3.是MySQL服务器
A.MySQL
B.MySQLD
C.MySQL Server
D.MySQLS
4. DROP DATABASE会删除数据库目录和文件,返回。
A.一个逻辑值表示运行成功与否
B.被删除的表的名称列表
C.已被删除的表的数量
D.删除文件的大小
5.转义字符“\n”表示:
A.NUL
B.退格
C.新行
D.制表符
6.创建表时,不允许某列为空可以使用:
A.NOT NULL
B.NO NULL
C.NOT BLANK
D.NO BLANK
7.从学生(STUDENT)表中的姓名(NAME)字段查找姓“张”的学生可以使用如下代码:select* from student where。
A.NAME=’张*’
B.NAME=‘%张%’
C.NAME LIKE‘张%’
D.NAME LIKE‘张*’
8.要快速完全清空一个表,可以使用如下语句:
A. TRUNCATE TABLE
B. DELETE TABLE
C. DROP TABLE
D. CLEAR TABLE
9.以下哪个表不用于MySQL的权限管理: A.HOST
B.DB
C. COLUMNS_PRIV
D.MANAGER
10.备份是在某一次完全备份的基础,只备份其后数据的变化。
A.比较
D.检查
C.增量
D.二次
三,问答题
1.试说明在命令行中输入密码的方式及其利优缺点。(15分)
2.试述MySQL中的整数类型有哪些,每种类型有符号(SIGNED)时的取值范围,并为每种类型举一个使用示例。(25分)
答案:
一,填空题
1.稳定
2.选项文件环境变量
3. IF NOT EXISTS
4. ENUM(或枚举)
5. TEMPORARY
6.limitoffset
7. CREATE INDEXALTER TABLE
二,选择题
1D 2A 3B 4C 5C 6A 7C 8A 9D 10C
三,问答题
1.试说明在命令行中输入密码的方式及其利优缺点。
答:在命令行中输入密码可以使用“-p密码”或“――password=密码”两种方式,注意“-p”或“--password=”与后面的密码之间没有空格。
如果使用“-p”或“—password”选项但没有指定密码,客户端程序提示输入密码。此时输入密码会以星号显示,而不显示密码本身,这比在在命令行输入密码要安全得多。
2.试述MySQL中的整数类型有哪些,每种类型有符号(SIGNED)时的取值范围,并为每种类型举一个使用示例。
答:MySQL中整数类型共有四种,各类型表示范围及使用示例如下。
(1) TINYINT:-27┈ 27-1,可用于记录一门课程的考试分数(满分100分)。
(2) SMALLINT:-215┈ 215-1,可用于记录一门课程的课时数。
(3) MEDIUMINT:-223┈ 223-1,可用于记录一个软盘的已用字节数。
(4) INT:-231┈ 231-1,可用于记录一个国家的人数。
(5) BIGINT:-263┈ 263-1,可用于记录全世界的人数。
关于mysql数据库试题,2014计算机二级考试mysql数据库测试题的介绍到此结束,希望对大家有所帮助。