MySQL选择题集1

文章介绍了数据库事务的特性,包括原子性、一致性、隔离性和持久性,并讨论了不同类型的锁,如共享锁、排它锁和更新锁的作用。此外,文章还涉及数据库的约束类型,如NOTNULL、UNIQUE、PRIMARYKEY、FOREIGNKEY和CHECK,以及SQL查询和范式理论,如第二范式和第三范式。
摘要由CSDN通过智能技术生成

1、如果事务T获得了数据项Q上的排它锁,则T对Q(C)
A.只能读不能写

B.只能写不能读

C.既可读又可写

D.不能读不能写

【共享锁】
又称读锁(S锁),若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,但不能加X锁,直到T释放A上的S锁。
【排它锁】
又称写锁(X锁),若事务T对数据对象加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。它防止任何其它事务获取资源上的锁,直到在事务的末尾将资源上的原始锁释放为止。
【 更新锁(U)】
用来预定要对此页施加X锁,他允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直 到事务结束时才被释放;

2.【数据库的约束】

NOT NULL 

UNIQUE : 控制字段内容不能重复,一个表允许有多个 Unique 约束。

PRIMARY KEY: 也是用于控制字段内容不能重复,但它在一个表只允许出现一个。

FOREIGN KEY: FOREIGN KEY 约束用于预防破坏表之间连接的动作,FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

CHECK: 用于控制字段的值范围。

DEFAULT: 用于设置新记录的默认值。
 

3.数据库管理系统是位于用户和OS之间的一层管理 软 件 ,数据库系统是由数据库,硬件,软件,数据库管理员组成。 

4.定义学生、教师和课程的关系模式
S(S#,Sn,Sd,Dc,Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);
C(C#,Cn,P#)(其属性分别为课程号、课程名、先修课);
SC(S#,C#,G)(其属性分别为学号、课程号和成绩),则该关系为( A)。

A.第二范式

B.第一范式

C.第三范式

D. BCNF范式

范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。
①第一范式:数据库中每一个属性都不可再分(不可以用多重值)。
②第二范式:关系模式是第一范式,并且必须要有主键,同时每个非主属性完全依赖于主键,不存在部分依赖。
③第三范式:关系模式是第二范式,并且不存在非主属性对主键的传递依赖(在关系模式中,如果X→Y,Y→Z,且Y不决定X和Z不属于X,那么X→Z是传递依赖)。
④BCNF范式:所有属性都不传递依赖于关系的任何候选键。
本题中,关系模式满足第二范式,但在关系模式S中,学生学号本身确定了所在系(S#→Sd),但系本身确定了系主任(Sd→Dc),存在传递依赖,不满足第三范式

5.事务的特性

【原子性】
即当数据修改时,要么全执行,要么全不执行,即不允许事务部分的完成,避免了只执行这些操作的一部分而带来的错误。原子性要求失误必须被完整执行。
【一致性】
一个事务执行之前和之后,数据库数据必须要保持一致性状态。数据库的一致性状态应该满足模式锁指定的约束,那么在完整执行该事务后数据库仍然处于一致性的状态。为了维护所有数据的完整性,在关系型数据库中,所有规则必须应用到事务的修改上。
【隔离性】
也被成为独立性,当两个或多个事务并发执行时,为了保证数据的安全性,将一个事物内部的操作与事务的操作隔离起来,不被其他正在执行的事务看到。
【持久性】
持久性也被成为永久性,事务完成之后,DBMS保证它对数据库中的数据的修改是永久性的,当系统或介质发生故障时,该修改也永久保持。持久性一般通过数据库备份与恢复来保证。 

6.、查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码

A SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]%0*’
B SELECT telephone FROM student WHERE telephone LIKE ‘(8,6)*0%’
C SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0%’
D SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0*’

正确答案: C

7、使用 % 作为通配符时,匹配的是:
A 0个或1个字符
B 1个以上的字符(包含1)
C 0个以上的字符(包含0)
他的回答: B (错误)
正确答案: C 

8.如下SQL语句中,____可能返回null值。
(1) select count(*) from t1;

(2) select max(col1) from t1;
(3) select concat('max=',max(col1)) from t1;
正确答案: D   

A.(1)可能,(2)和(3)不可能
B.(2)可能,(1)和(3)不可能
C.(3)可能,(1)和(2)不可能
D.(1)不可能,(2)和(3)可能
E.都不可能
F.都可能


 

答案是D 
(1)返回的是表的行数,如果没有记录,应该返回0,不会出现NULL,
(2) 和(3) 正常情况下不会出现NULL,但是如果表里面没有记录,则会出现NULL

MySQL concat函数使用方法:
CONCAT(str1,str2,…) 
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。


(1). 若表t1中有记录,会返回记录数;若无记录,则返回0;
(2). 若表t1中存在列col为null, 则结果返回null;
(3). 若表t1中存在列col为null, 则结果返回null;
 

 

9.电话号码表t_ phonebook中含有100万条数据,其中号码字段PhoneNo上创建了唯一索引,且电话号码全部由数字组成,要统计号码头为321的电话号码的数量,下面写法执行速度最慢的是_________


A.select count(*) from t_phonebook where phoneno >= ‘321’ and phoneno < ‘321A’
B.select count(*) from t_phonebook where phoneno like ‘321%’
C.select count(*) from t_phonebook where substring(phoneno,1,3) = ‘321’
D.都一样

 C

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sqyaa.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值