数据库相关题目

数据库相关的拼接
数据库语句拼接的时候不能替换表名和字段名只能使用字符串的拼接
模糊查询的时候不能将【%?%】放在 like "" 里面,应该放在预编译上



(单选题)数据库DB,数据库系统DBS,和数据库管理系统DBMS三者之间的关系是()
A.DBS包含DB和DBMS 
B.DBMS包含DB和DBS 
C.DB包含DBS和DBMS 
D.DBS就是DB,也就是DBMS 
【正确答案】A
【答案解析】此题目考查的是 DBS包含DB和DBMS DBS(DataBase System):数据库系统,是采用了数据库技术的计算机系统,是一个实际可运行的、按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件和软件,以及数据库管理员的集合体。 DB(DataBase): 数据库,数据库实际上就是一个文件集合,本质就是一个文件系统,数据按照特定的格式存储到文件中,使用sql语言对数据进行增删改查操作。 DBMS(DataBase Management System):数据库管理系统,是指数据库系统中对数据进行管理的软件系统,用于建立,使用和维护数据库,对数据进行统一的管理和控制,用户通过DBMS访问数据库中的数据。 选项A正确



TRUNCATE TABLE 语句:删除表中所有的数据并且释放表的存储空间,可以使用 DELETE 语句删除数据, DELETE 产生 rollback segment,
如果删除大数据量的表速度会很慢,同时会占用很多的 rollback segment 。
TRUNCATE 是 DDL 操作,不产生 rollback segment,速度快一些。

drop会将表结构一并删除,且删除表数据不可以使用*号


(单选题)cost表中id,unit_cost列数据如下:
 ID   UNIT_COST
 1  
 2      0.40
 3      0.30
 4      0.20
 5      0.10
 6      0.50  
sql语句select count(unit_cost) from cost;查询的结果为:
A.2 
B.6 
C.5 
D.0 
【正确答案】C
【答案解析】以上查询将返回表cost中unit_cost列的记录个数,当某条记录为空时将不计入结果。


(单选题)已知数据表emp的数据为:
EMPNO ENAME
----- ----------
7369  SMITH
7499  ALLEN
7521  WARD

下面代码的运行结果是(  ) 
int empno = 7521;
String ename = "hello' or '1'='1";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select count(*) from emp where empno="+empno+" and ename='"+ename+"'");
rs.next();
System.out.println(rs.getInt(1));
A.0 
B.1 
C.2 
D.3 
【正确答案】D
【答案解析】本题考点是SQL注入 SQL语句编译后的结果是 select count(*) from emp where empno=7521 and ename='hello' or '1'='1' 由于最终的恒等式 '1'='1' 所以导致where子句的条件恒成立 所以最终结果返回所有记录


(单选题)已知一张表中的'姓名'列被定义为name varchar(10),则以下说法正确的是()
A.也可以定义为char(10),二者没有区别 
B.如果存放中文字符最多可以存放5个 
C.如果存放中文字符最多可以存放10个 
D.如果输入字符长度短于10字节时用空白字符填满 
【正确答案】B
【答案解析】此题目考查的是 数据库数据类型--字符串 char(m): m代表显示长度,长度不可变 varchar(m): 长度是可变的 一个中文占两个字节 不是必须插入5个中文或10个英文 选项B正确。
			varchar(m) 虽然大小可变,但是它也有固定的长度,不可超过设置的长度(可小不可大)


将员工号为1007的员工薪水改为3500 , 职位改为Programmer,下列SQL语句正确的是:()。
A.
update emp
        set salary = 3500 and job = 'Programmer'
        where empno = 1007;
 B.
update emp
        set salary = 3500, set  job = 'Programmer'
        where empno = 1007;
 C.
update emp
         salary = 3500, job = 'Programmer'
        where empno = 1007;
 D.
update emp
        set salary = 3500, job = 'Programmer'
        where empno = 1007;
【正确答案】D
【答题时间】2019-09-25 03:36:08
【答案解析】解析:本题考查使用update语句更新表中的记录。update语句更新表中的记录 语法如下: UPDATE table_name SET column = value [, column = value]… [WHERE condition]; 如果没有WHERE子句,则全表的数据都会被更新,务必小心。  update set 进行更新多条数据的时候,不需要加and

单选题)下列SQL语句查询到的字符串是:()。
   SELECT 
   SUBSTR('JavaPhpOracleC++Html',5, 9)
   FROM DUAL;
A.hpOracleC 
B.PhpOracle 
C.hpOr 
D.PhpO 
【正确答案】B
【答题时间】2019-09-25 03:36:08
【答案解析】解析:本题考查Oracle中的substr函数的用法。SUBSTR(char, [m[, n]]) 用于获取字符串的子串,返回char中从m位开始取n个字符,如果m = 0,则从首字符开始,如果m取负数,则从尾部开始;如果没有设置n,或者n的长度超过了char的长度,则取到字符串末尾为止。另外,字符串的首位计数从1开始。


(单选题)下列SQL语句的查询结果是:()。
SELECT CEIL(35.823),FLOOR(35.823) FROM DUAL; 
A.35  35 
B.35  36 
C.36  35 
D.36  36 
【正确答案】C
【答题时间】2019-09-25 03:36:08
【答案解析】解析:本题考查Oracle中的数值函数ceil和floor。CEIL(n)、FLOOR(n)这两个函数顾名思义,一个是天花板,就是取大于或等于n的最小整数值,一个是地板,就是取小于或等于n的最大整数值。比如数字n = 4.5,那么它的CEIL是5,它的FLOOR是4。


(多选题)下列选项中说法正确的是:()。
A."empno NUMBER(6)"表示empno列中的数据为整数,最大位数为6位。 
B."balance NUMBER(10,1)"表示balance列中的数据,整数最大位数为10位,小数为1位。 
C."bak CHAR(10)"表示bak列中最多可存储10个字节的字符串,并且占用的空间是固定的10个字节 
D."content VARCHAR2(300)"表示content列中最多可存储长度为300个字节的字符串。根据其中保存的数据长度,占用的空间是变化的,
最大占用空间为300个字节。 
【正确答案】A,C,D
【答题时间】2019-09-25 03:36:08
【答案解析】解析:本题考查Oracle中的数据类型。其中,NUMBER表示数字类型,经常被定义成NUMBER(P,S)形式,定义中的P表示数字的总位数,S表示小数点后面的位数。 char表示固定长度的字符类型,经常被定义成CHAR(N)形式, N表示占用的字节数,最大长度是2000字节。 varchar2表示变长的字符类型,定义格式是VARCHAR2(N), N表示最多可占用的字节数,最大长度是4000字节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值