考试复习习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


选择题
1.下面关于SQL语法的描述不正确的是__d______
(A)SQL 语言的关键字大小写不敏感
(B)SQL 语句可以写在一行或者多行
(C)关键字不能被缩写也不能分行
(D)各个子句必须要分行写
2.下列SQL语句中正确的是______d__
(A)SELECT * xs
(B)SELECT ename,empno FROM emp e xs x
(C)SELECT 姓名 as student name FROM emp
(D)SELECT 姓名 as ‘student name’ FROM emp
3.Mysql中的存放着用户的用户名和密码信息的表是___b____
(A)db
(B)User
(C)Table
(D)host
4.Customers表结构如下:
Customer_id int(4) primary key
Customer_name varchar(100) not null
City varchar(50)
Phone varchar(20)
下面可以统计出表中有多少个城市的语句是____d_____
(A)count(Upper(city))
(B)sum(Upper(city))
(C)count distinct upper(city)
(D)count(distinct upper(city))
5.下列能打印出当前系统日期的语句是_____b___
(A)select date();
(B)select now();
(C)select time();
(D)select sysdate() ;
6.下列能显示出当前用户所有的数据库的语句是___c____
(A)Select database from system_db
(B)Show db from sys_db
(C)Show databases
(D)Show database
7.student表里有number类型的age字段,如果想要查询出student里面所有的记录并按照age字段从高到低排序,下列语句正确的是___c_____。
(A)select * from student order by age asc;
(B)select * from student order by age;
(C)select * from student order by age desc;
(D)select * from student order by age down;
8.不是下列语句的功能的一项是__b_____
mysql> select 学号,姓名,
-> CASE
-> WHEN 性别=1 THEN '男'
-> WHEN 性别=0 THEN '女'
-> ELSE 'other' as 性别
-> END from xs;
(A)查询xs表中的学号,姓名列信息
(B)性别列中表的真实数据是男或女或other
(C)显示性别列的时候结果是男或女或other
(D)as 性别 是指这列的别名为性别
9.下面可以建一个student表上基于classID的索引的语句是___c___
(A)A. create index student_classID_idx on table student classID
(B)create index student_classID_idx on student classID
(C)create index student_classID_idx on student(classID)
(D)create student_classID_idx index on student(classID)
10.student表中有如下字段:
stu_id number
stu_name varchar(10)
birthday date
要在表中加入编号为 10,姓名张三,出生日期1988-12-10学生信息,正确的语句是____b_____
(A)insert into student values(10, 张三, 1988-12-10)
(B)insert into student values(10, ‘张三’, ‘1988-12-10’)
(C)insert into student (10, ‘张三’, format(‘1988-12-10’,’yyyy-mm-dd’))
(D)insert into student values(10, 张三, date(’yyyy-mm-dd

’, ‘1988-12-10’))
11. Mysql添加了用户或者修改了密码后如何生效____c___
(A)执行commit;
(B)执行flush;
(C)执行 flush privileges ;
(D)执行 commond;
12.下列关于单行函数SUBSTRING('HelloWorld',2,3)返回结果正确的是____b___
(A)el
(B)ell
(C)llo
(D)ll
13. 下列SQL语句中错误的是___d_____
(A)select ename from emp where ename='SMITH';
(B)select ename,sal from emp where sal BETWEEN 1000 AND 2000;
(C)select ename,sal,deptno from emp where ename in(‘SMITH’,'KING')
(D)select ename,comm from emp where comm = NULL;
14.要查询emp表中ename的倒数第二个字母为A的记录正确的是___a___
(A)select ename from emp where ename like '%A_';
(B)select ename from emp where ename like '%A';
(C)select ename from emp where ename like 'A%';
(D)select ename from emp where ename like '_A%';
15.准确查询emp表中所有人的平均奖金(comm)的语句是____c___
(A)select ifnull(comm,0) from emp
(B)select avg(comm) from emp
(C)select avg(ifnull(comm,0)) from emp;
(D)select avg(ifnull(0,comm)) from emp;
16.查询出emp表的平均工资大于2000的部门号和其平均工资,下列正确的___b____
(A)select deptno,avg(sal) from emp where avg(sal) > 2000 group by deptno;
(B)select deptno,avg(sal) from emp group by deptno having avg(sal) > 2000;
(C)select deptno,avg(sal) from emp group by deptno having sal > 2000;
(D)select deptno,avg(sal) from emp group by deptno where avg(sal) > 2000;
17. 下列多表连接的语句会发生错误的是____d____
(A)select x.姓名,xx.成绩 from xs x,xs_kc xx where x.学号=xx.学号
(B)select xs.姓名,xs_kc.成绩 from xs x,xs_kc xx where xs.学号=xs_kc.学号
(C)select 姓名,成绩 from xs x,xs_kc xx where xs.学号=xs_kc.学号
(D)select姓名,成绩,学号 from xs x,xs_kc xx where xs.学号=xs_kc.学号
18. 下列SQL语法的多表连接会产生笛卡尔积的是____c____
(A)select e.ename,d.dname from emp e join dept d using(deptno);
(B)select e.ename,d.dname from emp e natural join dept d;
(C)select e.ename,d.dname from emp e cross join dept d;
(D)select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno;
19. 下列不属于DML语句是___b_____
(A)insert into dept values(30,'Marketing','China');
(B)truncate table dept;
(C)update emp set sal=2090;
(D)delete from emp where ename='SMITH';
20.下列能实现emp表和dept表查询的左外连接的语句是____a___
(A)select e.ename,d.dname,d.deptno from emp e left outer join dept d on e.deptno=d.deptno
(B)select e.ename,d.dname,d.deptno from emp e right outer join dept d on e.deptno=d.deptno
(C)select e.ename,d.dname,d.deptno from emp e full outer join dept d on e.deptno=d.deptno
(D)select e.ename,d.deptno from emp e,dept d where e.deptno(+) = d.deptno(+);

21.下面可以显示当前的时间

的命令____b_____
(A)use now()
(B)select now();
(C)now()
(D)select now
22.下列SQL语句中正确的是____d____
(A)SELECT * xs
(B)SELECT ename,empno FROM emp e xs x
(C)SELECT 姓名 as student name FROM emp
(D)SELECT 姓名 as ‘student name’ FROM emp
23.下面可以删除samp数据库的tb_name表的命令___c______
(A)Delete tb_name
(B)Delete from samp.tb_name
(C)Drop table samp.tb_name
(D)Drop samp.tb_name
24.Customers表结构如下:
Customer_id int(4) primary key
Customer_name varchar(100) not null
City varchar(50)
Phone varchar(20)
下面可以统计出表中有多少个城市的语句是___d______
(A)count(Upper(city))
(B)sum(Upper(city))
(C)count distinct upper(city)
(D)count(distinct upper(city))
25.若表名为tb_name,则要删除samp数据库中的此表的所有记录, 使用什么命令____c_____
(A)Delete tb_name
(B)Delete * from tb_name
(C)Delete from samp.tb_name
(D)Delete from tb_name.samp
26.下列能显示出当前用户所有的数据库的语句是___c____
(A)Select database from system_db
(B)Show db from sys_db
(C)Show databases
(D)Show database
27.student表里有number类型的age字段,如果想要查询出student里面所有的记录并按照age字段从高到低排序,下列语句正确的是____c____。
(A)select * from student order by age asc;
(B)select * from student order by age;
(C)select * from student order by age desc;
(D)select * from student order by age down;
28.不是下列语句的功能的一项是___b____
mysql> select 学号,姓名,
-> CASE
-> WHEN 性别=1 THEN '男'
-> WHEN 性别=0 THEN '女'
-> ELSE 'other' as 性别
-> END from xs;
(A)查询xs表中的学号,姓名列信息
(B)性别列中表的真实数据是男或女或other
(C)显示性别列的时候结果是男或女或other
(D)as 性别 是指这列的别名为性别


多择题

1.下列SQL语句中(列的别名name)正确的是___ac__
(A)SELECT ename as name FROM emp
(B)SELECT ename , name FROM emp
(C)SELECT ename name FROM emp
(D)SELECT ename is name FROM emp
2. Mysql的索引包括____abcd____
(A)INDEX
(B)UNIQUE
(C)PRIMARY KEY
(D)FULLTEXT
3. 下面增加外键约束的语句正确的是___ac_____
(A)alter table student add foreign key(classid) references stuclass(classid)
(B)alter table student add foreign key references stuclass(classid)
(C)alter table student add constraint stu_fk foreign key(classid) references stuclass(classid)
(D)alter table student add constraint stu_fk references stuclass(classid)
4. 在Mysql中,可以自动创建索引的约束类型____ab___
(A)PRIMARY KEY
(B)UNIQUE
(C)NOT NULL
(D)FOREIGN KEY
5

. 可以查询出来当前数据库的字符编码信息的语句是____ab_____
(A)show character set
(B)show variables like ’%char%’
(C)status
(D)show charset

填空题

1、MySQL取得当前日期时间的函数是 now() 。
2、设置MySQL用户密码时候用到的加密函数是 password()
3、有一个表emp如果想查询出此表的所有列信息,显示第1-8第记录该用哪个语句
Select * from emp limit 0,8;
4、合并查询结果是用哪个关键字 union
5、表的左外连接是用哪个关键字 left outer join
6、cmd下如果出现查询乱码问题通常执行 set names … 命令能改变客户端的编码集。
7、提交事务的命令是哪个 commit

判断题,正确“T”错误“F”。
1.MySQL数据库不支持游标 ( f )
2. MySQL的会话变量和全局变量作用范围一样 ( f )
3. MySQL的函数能支持位运算 ( t )
4. 索引总可以提高系统的性能 ( f )
5. 同一个表里面可以有多个唯一约束( t )


简答题
1. 说一个你避免mySQL乱码问题的方案? (4分)
2. 写出两种常见的数据库引擎并简单介绍各自特点(4分)
3. SQL语言的功能包括数据查询、数据操纵、数据定义和数据控制4个部分用了6个命令表示,比如:select,请列举除select其中任意4个(4分)grant
4. 写出事务的4种隔离级(4分)


编程题

1.创建名为“t_userInfo”的数据表,包括如下字段:
t_id(int,自动编号),
t_name(char(8)not null),
t_sex(char(2)not null),
t_birthday(datetime),
t_tel(char(16))。
主键为t_id。
2.利用ADD子句为“t_userInfo”表添加字段t_address(text,null)。
3.在“t_userInfo”表中插入如下记录信息:
t_id t_name t_sex t_birthday t_tel
100 陈兵 男 1970-12-01 552233
101 金阳 男 1972-09-08 567121
102 王小美 女 1978-03-15 521111
103 王工林 女 1978-08-18 721331
4.将t_id字段为103记录的t_name字段值改为“李红”。
5.删除所有男同志的数据记录。


编程题

创建如下表:
student(id,name,sex,birthday) 学生表
teacher(id,name) 教师表
course(id,name,t_id) 课程表
score(s_id,c_id,score) 成绩表
字段类型为:
id varchar(5) ,
name varchar(36) ,
score decimal(6,1) ,
sex char(2) ,
birthday date
插入数据:
学生表
insert into student values('1001','张小凡','男','1990-4-1');
insert into student values('1002','陆雪琪','女','1989-5-23');
insert into student values('1003','碧瑶','女','1990-6-2');
insert into student values('1004','小环','女','1993-10-11');
insert into student values('1005','李苍松','男','1974-11-23');
insert into studen

t values('1006','金瓶儿','女','1990-12-25');
教师表
insert into teacher values('001','李浩');
insert into teacher values('002','李再');
insert into teacher values('003','刘叶平');
insert into teacher values('004','张浩');
insert into teacher values('005','卫浩');
课程表
insert into Course values('001','数据库','001');
insert into Course values('002','企业管理','003');
insert into Course values('003','英语','002');
insert into Course values('004','马克思','004');
insert into Course values('005','UML','005');
insert into Course values('006','JAVA','003');
成绩表
insert into score values('1001','001',100);
insert into score values('1002','001',90);
insert into score values('1003','001',50);
insert into score values('1004','001',80);
insert into score values('1005','001',70);
insert into score values('1006','001',50);
insert into score values('1001','002',99);
insert into score values('1002','002',70);
insert into score values('1003','002',60);
insert into score values('1004','002',70);
insert into score values('1005','002',90);
insert into score values('1006','002',55);
insert into score values('1002','003',70);
insert into score values('1003','003',100);
insert into score values('1006','003',58);
insert into score values('1004','003',100);
insert into score values('1005','003',80);
insert into score values('1001','004',90);
insert into score values('1003','004',59);
insert into score values('1005','004',90);
insert into score values('1001','005',66);
insert into score values('1002','005',55);
insert into score values('1003','005',77);
insert into score values('1004','005',47);
insert into score values('1006','005',88);
请完成下面的数据库操作语句:
1.查询平均成绩大于60分的同学的学号和平均成绩。(5分)
2.查询所有同学的学号、姓名、选课数、总成绩。(5分)
3.查询姓“李”的老师的个数。(5分)
4.查询没学过“刘叶平”老师课的同学的学号、姓名。(5分)
5.查询学过“001”并且也学过编号“004”课程的同学的学号、姓名。(5分)
6.查询学过“刘叶平”老师所教的所有课的同学的学号、姓名。
(5分)





相关文档
最新文档