|
学院_ _ 专业 _班级_ 姓名___ _ |

正在上传…重新上传取消 精英班《数据库理论卷》(期末考试)
|
题号 |
一 |
二 |
三 |
四 |
总分 |
阅卷人 |
审核人 |
|
得分 |
- 选择题(每题2分,共20分)
1已知员工表emp(empno,ename,job,sal)其中empno 员工编号,ename 员工姓名,job员工的职位,sal员工的工资。若要查看工资大于2000的员工的信息,则正确的sql语句是 (d)
A、 select * from emp;
B、select * from emp where sal>2000;
C 、select * emp where sal>2000 ;
D 、select * from emp sal>2000;
2已知员工表emp(empno,ename,job,sal)其中empno 员工编号,ename 员工姓名,job员工的职位,sal员工的工资。查询所有员工的姓名和工资,则正确的sql语句是( b )
A、select ename,sal on emp;
B、select ename,sal from emp;
C、select emp from ename,sal;
D、select emp(ename,job);
3已知员工表emp(empno,ename,job,sal)其中empno 员工编号,ename 员工姓名,job员工的职位,sal员工的工资。查询工资sal大于3000职位为manager的员工信息的SQL语句为(b )
A、select * from emp where sal >3000 or job=’manager’;
B、select * from emp where sal >3000 and job=’manager’;
C、select * from emp where sal >3000 ,job=’manager’;
D、select * from emp where sal >3000 or job!=’manager’;
4有一个SQL语句为select * from fruits where price=20 or price=30 or price=35; 则下列语句中与其等同的是( b )
A. select * from fruits where price = (20,30,35) ;
B. select * from fruits where price in (20,30,35);
C. select * from fruits where price!=20 or 30 or 35;
D. select * from fruits where price!=20 and price!=30 and price!=35;
5已知员工表emp(empno,ename,job,sal,comm,deptno)其中empno 员工编号,ename 员工姓名,job员工的职位,sal员工的工资,comm 奖金,deptno 员工所在部门编号。查询奖金为空的员工信息,则正确的sql语句是( d )
A、select * from emp where comm=null;
B、select * from emp where comm is not null;
C、select * from emp where comm <>null;
D、select * from emp where comm is null;
6 SQL语言中,条件表示年龄在40至50之间的表达式为 ( b )。
A. IN (40,50) B. BETWEEN 40 AND 50 C. BETWEEN 40 OR 50 D. BETWEEN 40 ,50
7 表示职称为副教授同时性别为男的表达式为( b )
A. 职称='副教授' OR 性别='男' B. 职称='副教授' AND 性别='男'
C. BETWEEN '副教授' AND '男' D. IN ('副教授','男')
8表示职称为不是副教授同时性别不是男的表达式为( b )
A. 职称!='副教授 性别!='男' B. 职称!='副教授' AND 性别!='男'
C. BETWEEN '副教授' AND '男' D. IN ('副教授','男')
9若要删除表S中所有的编号(id)为偶数的记录可使用( a )
A.delete from S where id%2=0
B. update table S
C.truncate S
D. drop table S where id%2=1;
10已知学生表S(SN,SNAME,SAGE) 其中SN是学号,SNAME学生姓名,SAGE学生年龄。若要查询年龄不能被3整除的学生的信息的SQL语句为( c )
A、 select * from S having SAGE/3!=0 ;
B、select * from S having SAGE%3==0 ;
C 、select * from S where SAGE%3!=0 ;
D 、select * from S having SAGE%3!=0;
二、填空题(每空2分,共30分)
1. 数据库管理技术经历三个阶段,分别是 、 、 。
2. 数据模型通常由 、 、 3部分组成。
3. mysql支持多种数据类型,主要有 int 、 varchar 、和 整数 。
4. MySQL中是使用 select*from 语句来查询数据。
5.查询语句中,form后面写 where 。
6.查询语句中,如果要查询所有的列, 表示所有的列。
7.查询语句中,如果要查询多列,则多个列之间用 , 分隔。
8.什么是单表查询:查询在一个表中的数据 。
9.判断某个字段的值是否在指定的集合中关键字是: 。
三、手写代码(共50分每题5分)
- 使用SQL语句新建一个教师管理数据库,命名为TDB 。
Create database tdb character set ust8;
- 在TDB数据库中创建一个教师信息表TS,其表的结构如下表1。
|
字段名 |
字段描述 |
数据类型 |
主键 |
外键 |
非空 |
唯一 |
自增 |
|
Number |
教工号 |
int |
是 |
否 |
是 |
是 |
否 |
|
Name |
姓名 |
varchar(30) |
否 |
否 |
是 |
否 |
否 |
|
Sex |
性别 |
varchar(4) |
否 |
否 |
否 |
否 |
否 |
|
Age |
年龄 |
int |
否 |
否 |
否 |
否 |
否 |
|
DepNo |
部门名称 |
varchar(50) |
否 |
否 |
否 |
否 |
否 |
|
Salary |
工资 |
float |
否 |
否 |
否 |
否 |
否 |
|
Address |
家庭住址 |
varchar(100) |
否 |
否 |
否 |
否 |
否 |
Create table ts(Number int,Name varchar(30),Sex varchar(4),Age int,
DepNo varchar(50),Salary float,Address varchar(100))
- 修改部门名称为精英学院的老师工资增加1000元。
Update ts set Salary = Salary +1000 where DepNo = ‘精英学院’ and name = ‘老师’
- 查询出教工号为1001的教师信息。
Select * from ts where Number = 1001
- 找出所有其家庭地址为北小营的女教师的教工号、姓名及部门名称。
Select Number,name, DepNo from ts where Address = ‘北小营’and Sex = ‘女’
- 查询出部门名称包括市场部、教务处、大数据、物联网的教职工信息
Select Number from ts where DepNo in(市场部,教务处,大数据,物联网)
- 查询出部门不是市场部和教务处的所有教职工的姓名、性别、部门和住址
Select name,sex,DepNo,Address from ts DepNo not in(市场部, 教务处)
- 查询出工资在5千到1万之间教职工姓名和部门
Select name, DepNo from ts Salary between 2000 and 10000
- 查询出家庭住址为空的教师姓名、性别和部门
Select name, sex, DepNo from ts where Address is null
- 查询出年龄为30到40岁之间的女教师姓名和、部门和工资
Select name,DepNo,Salary from ts where Sex = ‘女’ and Age between 30 and 40
第2个
|
题号 |
一 |
二 |
三 |
四 |
总分 |
阅卷人 |
审核人 |
|
得分 |
- 选择题(每题2分,共20分)
1有学生成绩表SC(SN学号,CN课程号,grade成绩),查询学生成绩表,根据成绩和学号降序排列显示的,正确的SQL语句为(c)
A、select * from SC order by grade,SN asc;
B、select * from SC order by “SN” asc;
C、select * from SC order by SN desc,grade;
D、select * from SC order by grade desc,sn desc;
2表示职称为副教授同时性别为男的表达式为( b )
A. 职称='副教授' OR 性别='男' B. 职称='副教授' AND 性别='男'
C. BETWEEN '副教授' AND '男' D. IN ('副教授','男')
3表示职称为不是副教授同时性别不是男的表达式为( b )
A. 职称!='副教授 性别!='男' B. 职称!='副教授' AND 性别!='男'
C. BETWEEN '副教授' AND '男' D. IN ('副教授','男')
4若要删除表S中所有的编号(id)为偶数的记录可使用(a)
A.delete from S where id%2=0
B. update table S
C.truncate S
D. drop table S where id%2=1;
5已知学生表S(SN,SNAME,SAGE) 其中SN是学号,SNAME学生姓名,SAGE学生年龄。若要查询年龄不能被3整除的学生的信息的SQL语句为( c )
A、 select * from S having SAGE/3!=0 ;
B、select * from S having SAGE%3==0 ;
C 、select * from S where SAGE%3!=0 ;
D 、select * from S having SAGE%3!=0;
6.以下是聚合函数求数据总和的时 (b)
A、MAX
B、SUM
C、COUNT
D、AVG
7.查找条件为:姓名不是NULL的记录(c)
A、where name ! NULL
B、where name not NULL
C、where name is not NULL
D、where name !=NULL
8. unique 唯一约束的作用是什么()
A、保证各行在该列下的值不重复
B、保证各行在该列下的值不为空
C、保证该列只能添加唯一约束,不能出现其他约束
D、保证唯一约束不被删除
9.一张表中可以有几个主键( a )
A、1个 B、2个 C、3个 D、4个
10.修改数据表结构用一下哪项(d)
A、update B、select C、delete D、alter
二、填空题(每空2分,共30分)
- 常用的数据库管理系统有 mysql 、 、 。
- 数据模型通常由 、 、 3部分组成。
- 常用的数据模型主要有 、 、 ————。
- 关系模型由 、 和 3部分组成。
- 数据库常用对象是 、 、 、 和 。
三、手写代码(共 50 分每题10分)
- 请创建名为JingYing的数据库,并按照图中显示的数据创建表shop,id是编号,name是名称,price是金额,image是数量,写出创表所用的代码,并设置字符集为:utf-8;
|
Id (主键、自增) |
Name (非空,唯一) |
Price (非空,保留两位小数) |
Image (非空,最大长度255)) |
Create database JingYing character set utf8
Create table shop(id int primary key auto_increment, name varchar(100) only Non empty,
Price float(*,2) Non empty,image int(255) Non empty)
- 在题一创建好的数据表中任意添加5条数据
Insert into shop values(1,’小白’,121.00,‘10’),(2,’ 小白’,221.00,‘20’),(3,’ 小白’,321.00,‘30’),(4,’ 小白’,421.00,‘40’),(5,’ 小白’,521.00,‘50’)
- 查询id为1002的数据的姓名和价格
Select name, price from shop id =1002
- 查询名称为冰箱的数据信息
Select数据信息 from shop name =’冰箱’
- 把题2添加的数据中,Name的值改为‘Mysql’;
Update shop name =’masql’where name =’ 小白’
第3个
3052

被折叠的 条评论
为什么被折叠?



