Mysql-Oracle数据库测试题-带答案Oralce mysql1、当你执行以下查询语句:SELECT empno,ename FROM emp WHERE empno =7782 or empno =7876;在WHERE语句中,以下哪个操作符可以取代or?[参考答案:A]A、INB、BETWEEN ……AND...C、<=D、>=2、PL/SQL块中可以使用下列()命令。
(选择两项)[参考答案:B,C]A、TRUNCATEB、DELETEC、SAVEPOINTD、ALTER TABLE3、Oracle数据库的物理文件不包括[参考答案:D]A、数据文件(.dbf)B、重做日志文件(.log)C、控制文件(.ctl)D、缓存文件4、哪个命令用来创建一个primary key constraint pk_books 在表BOOKS, 列ISBN上? 请选择一个[参考答案:C]A、create primary key on books(ISBN)B、create constraint pk_books primary key on books(ISBN)C、alter table books add constraint pk_books primary key (ISBN);D、alter table books add primary key (ISBN)5、下列那个()不是Oracle默认的用户[参考答案:D]A、systemB、sysC、scottD、sa6、当创建过程时,可以实现输出数据的参数有[参考答案:B]A、IN参数B、OUT参数C、TEST参数D、任何参数都不能输出7、下面的case语句DECLAREV_sal NUMBER:=1200;V_result NUMBER;BEGINCASEWHEN v_sal<800 thenV_result:=v_sal*0.02;WHEN v_sal<1000 thenV_result:=v_sal*0.03;WHEN v_sal<1500 thenV_result:=v_sal*0.04;When v_sal<2000 thenV_result:=v_sal*0.05;End case;Dbms_output.put_line(v_result);End;执行的结果是 ( )[参考答案:C]A、36B、42C、488、以下关于Oracle中序列的说法正确的是[参考答案:A,C]A、序列用于产生一组等间隔整型数值,在插入语句中引用序列值可实现主键自增B、序列只能是递增序列,不能是递减序列C、序列的使用是通过序列的两个伪列NEXTVAL和CURRVAL实现的D、通过ALTER SEQUENCE 语句对序列进行修改,可以修改序列的所有参数9、在使用Oracle数据库时至少需要启动()服务[参考答案:A,B]A、OracleXETNSListenerB、OracleServiceXEC、ORACLEDBCONSOLESIDD、ORACLEJOBSCHEDULERSID10、下列关于序列的说法正确的是()[参考答案:B,D]A、序列一旦创建,就可以立即使用CURRVAL列B、在引用序列的CURRVAL列前,必须引用过一次NEXTVAL列C、可以修改序列中的起始值D、序列的初始值可以从0开始11、下列选项中,必须返回数据的程序单元是()[参考答案:B]A、触发器B、函数C、过程D、包12、不属于事务控制语句的是()[参考答案:C]A、COMMITB、SAVEPOINTC、BEGIN TRANSACTIOND、ROLLBACK13、PL/SQL块中,跳出循环的语句时[参考答案:A]B、BREAKC、CONTINUED、NEXT14、pl/sql中为变量赋值的方式有[参考答案:A,B]A、:=B、SELECT .. INTOC、=D、SELECT FROM INTO15、pl/sql中单行注释的符号是[参考答案:B]A、//B、--C、\\D、##16、返回"Good Morning"的函数,使用()字符函数[参考答案:D]A、UPPERB、LOWERC、CONCATD、INITCAP17、下面的case语句,执行的结果是( )DECLAREV_sal NUMBER:=1200;V_result NUMBER;BEGINCASEWHEN v_sal<800 thenV_result:=v_sal*0.02;WHEN v_sal<1000 thenV_result:=v_sal*0.03;WHEN v_sal<1500 thenV_result:=v_sal*0.04;[参考答案:C]A、36B、42C、48D、5618、PL/SQL程序设计中,抛出一个异常的关键字是____。
[参考答案:B]A、THROWB、RAISEC、THROWSD、CAST19、declarei number(3) :=1;beginloopdbms_output.put_line(i);____ when i=100;end loop;end;代码空格中应该填写?[参考答案:C]A、CONTINUEB、BREAKC、EXITD、EXIST20、下列哪个动作不会激发一个触发器?_____[参考答案:B]A、更新数据B、查询数据C、删除数据D、插入数据21、连续执行以下两行代码的结果是什么create sequence seq_id;select seq_id.currval from dual;[参考答案:A]A、报错:序列SEQ_ID.CURRVAL商未在此会话中定义B、1C、-1D、222、select ename,sal 月薪,__1__ 奖金, ____2____ 实发薪水from emp;空格中的正确代码为?[参考答案:C]A、1 COMM2 SAL + COMMB、1 ROUND(COMM)2 ROUND(SAL + COMM)C、1 NVL(COMM,0)2 SAL + NVL(COMM,0)D、1 NVL(COMM,0)2 NVL(SAL + COMM,0)23、begininsert into dept values (1,'研发部','郑州');__________1____________;insert into dept values (2,'研发部2','郑州');__________2____________;commit;end;回滚第二条插入,提交第一条,则空格处如何填写:[参考答案:B]A、1 SAVEPOINT A2 ROLLBACK;B、1 SAVEPOINT A2 ROLLBACK TO A;C、1 SAVEPOINT 'A'2 ROLLBACK TO 'A';24、关于触发器,下列说法正确的是[参考答案:B]A、可以在表上创建INSTEAD OF 触发器B、语句级触发器不能使用“:OLD”和“:NEW”C、一个删除行级触发器只能一次D、触发器可以显式调用25、一页显示10条数据,下列查询第二页数据的分页查询语句正确的是[参考答案:B,D]A、SELECT * FROM EMP WHERE ROWNUM >=11 AND ROWNUM <=20B、SELECT * FROM ( SELECT ROWNUM N,EMP.* FROM EMP ) T WHERE T.N >=11 AND T.N <=20C、SELECT * FROM ( SELECT ROWNUM N,EMP.* FROM EMP ORDER BY SAL DESC )T WHERE T.N >=11 AND T.N <=20D、SELECT * FROM (SELECT ROWNUM N, E.* FROM( SELECT * FROM EMP ORDER BY SAL DESC ) E)T WHERE T.N >=11 AND T.N <=2026、事务的特性都有什么( ABCD) 【多选】(4分)A、原子性B、一致性C、隔离性D、持久性27、关于JavaBean的说法中错误的是?(D)(2分)A、JavaBean通常用来封装和保存业务数据B、成员变量一般情况下要私有化C、JavaBean必须有无参的构造函数D、JavaBean的属性必须同时具有set方法和get方法28、JDBC 中下列关闭顺序正确的是?( A) (2分)A resultSet.close();statement.close();connection.close();B statement.close();connection.close();resultSet.close();C resultSet.close();connection.close();statement.close();D connection.close();statement.close();resultSet.close();29、用户表user中存在一个字段username,查询名字包含"凤"用户?( B)(2分)A、select * from user where username = '凤';B、select * from user where username like '%凤%';C、select * from user where username like '_凤_';D、select * from user where username like '凤';30、账号表account中有字段money,现在要将钱数在100-200之间的增加50,以下sql语句正确的有。
(CD)【多选】(4分)A、update account set money + 50 where money >=100 and money <=200;B、update account set money = money + 50 where money >=100 or money <=200;C、update account set money = money + 50 where money between 100 and 200;D、update account set money = money + 50 where money <=200 and money >=100;31、以下哪个不是DDL(数据定义语言)的关键字?( B) (2分)A、CREATEB、DELETEC、ALTERD、DROP32、用户表user中存在一个字段age,下面哪个sql语句表示"查询年龄为18或20的用户"?(A)(2分)A、select * from user where age = 18 or age = 20;B、select * from user where age = 18 && age= 20;C、select * from user where age = 18 and age = 20;D、select * from user where age = (18,20);33、下面哪些方法可以获取数据库连接?(BC)【多选】(4分)A、Class.forName("com.mysql.jdbc.Driver");B、DriverManager.getConnection("jdbc:mysql:///demo", "root", "123");C、ComboPooledDataSource dataSource =new ComboPooledDataSource();dataSource.getConnection();D、以上都可以34、下列属于关系型数据库的是( ABCD) 【多选】(4分)A、OracleB、MySQLC、SQL ServerD、DB235、数据库表emp 如下:字段名称说明ename员工姓名mgr领导编号sal月薪统计此表中每个部门的人数,以下哪个语句可以实现(B)(2分)A、select deptname, count(*) from empB、select deptname, count(*) from emp group by deptnameC、select deptname, count(*) from emp group by empnoD、以上都不对36、下列关于ResultSet接口的说法哪些是正确的?( ABCD )A) ResultSet接口被用来提供访问查询结果的数据表,查询结果被当作ResultSet对象而返回。