[Zend权威认证试题讲解]第九章 - PHP与数据库
如果你需要开发动态内容的网站,那么就肯定要用到数据库。尽管现代网站离不开数据库,但很多开发者对它的工作原理仍然知之甚少。(E3V^b.uQ-G1h vrPHP支持许多种类的数据库,可PHP认证只和PHP能力有关,所以本章的题目不会专门针对某个特定的数据库管理系统。另外,大多数商业DBMS,比如MySQL AB,都有它们自己的认证课程。
本章考察你对数据库原理及数据库编程的相关知识——与特定的DBMS无关。(R-z(I"XS
e[(_yjnkBk/sb Z
4r-[&U$QX-j-j
问题L2b5[6k{
;M'Zi9y;|9Af`y
1.考虑如下SQL语句。哪个选项能对返回记录的条数进行限制?(双选)Z"C6[$iH[/TQ l
X4PJ%t;Epo;VW
SELECT * FROM MY_TABLE
A.如果可能,用把查询转换成存储例程 e*I7~U ?4v P r X
B.如果程序允许,给查询指定返回记录的范围&H*fv W U/x*ndm
C.如果可能,添加where条件 E$s4k9H:i"JQ
D.如果DBMS允许,把查询转换成视图s:gY r&JPp,U
E.如果DBMS允许,使用事先准备好的语句0u u]fm m} j/q
2.可以用添加______条件的方式对查询返回的数据集进行过滤?6~)g0t"x k8`3[1b
答案:____________sZ)N:_a6j3DBz
$n1rK7[{Vx`
3.内关联(inner join)是用来做什么的?NDp g,z
N1yKQ9LCM,k
A.把两个表通过相同字段关联入一张持久的表中
B.创建基于两个表中相同相同行的结果集%c i[] Z.u
C.创建基于一个表中的记录的数据集
D.创建一个包含两个表中相同记录和一个表中全部记录的结果集
E.以上都不对9sNMq!hD
4.以下哪个DBMS没有PHP扩展库?6c"P2cqpc*Y;U
#N!v%hf/_Ug;R H
A.MySQL
B.IBM DB/2#RBA+_y:i
C.PostgreSQL
D.Microsoft SQL Server
E.以上都不对iR_/V2Bm
;B|B8jmdER
x?M1@ w ]q2z
5.考虑如下脚本。假设mysql_query函数将一个未过滤的查询语句送入一个已经打开的数据库连接,以下哪个选项是对的?(双选)
<?php+SE/U#Wg `,r
$r = mysql_query ('DELETE FROM MYTABLE WHERE ID=' . $_GET['ID']);
?>'td B0`KfJs*[b
{wzq Pk4Ah2R
A.MYTABLE表中的记录超过1条
B.用户输入的数据需要经过适当的转义和过滤
C.调用该函数将产生一个包含了其他记录条数的记录^-I8b&b _'jE4^*\
D.给URL传递ID=0+OR+1将导致MYTABLE中的所有表被删除R`|)K/o$o)p-t l
E.查询语句中应该包含数据库名,X@+GDm8o9F
4`6o2g:G\\4I$x-B~
6.______语句能用来向已存在的表中添加新的记录。 {.|3NR4[?CjYO
答案:____________
meUP]
7.以下哪个说法正确?
A.使用索引能加快插入数据的速度1i(yj/~T2~c
B.良好的索引策略有助于防止跨站攻击V9O ]MK\5q
C.应当根据数据库的实际应用按理设计索引
D.删除一条记录将导致整个表的索引被破坏6{!N6D-ik6G4y
E.只有数字记录行需要索引
8.join能否被嵌套?
?En*TD7v(L$A~ {0S
A.能
B.不能
D$r%cG#cb'?wS-c m
9.考虑如下数据表和查询。如何添加索引能提高查询速度?
CREATE TABLE MYTABLE (^x$M+N:y
ID INT,
NAME VARCHAR (100),
ADDRESS1 VARCHAR (100),(?[M Z l-U^~ k ]
ADDRESS2 VARCHAR (100),
ZIPCODE VARCHAR (10),
CITY VARCHAR (50),t7n!rU.~7hhW
PROVINCE VARCHAR (2),`#mq%Kv,de)PL"R
)
SELECT ID, VARCHAR
FROM MYTABLE_.M#L!Q0\Z-gK%hzR(O!x
WHERE ID BETWEEN 0 AND 100
ORDER BY NAME, ZIPCODE
%V}M,L/MES0l1X4C
A.给ID添加索引
B.给NAME和ADDRESS1添加索引] P.@A/B?(_
C.给ID添加索引,然后给NAME和ZIPCODE分别添加索引
D.给ZIPCODE和NAME添加索引
E.给ZIPCODE添加全文检索
a,J*g&R%Sro1w Wn
10.执行以下SQL语句后将发生什么?"gD2QJ@)O,I [
BEGIN TRANSACTION
DELETE FROM MYTABLE WHERE ID=1
DELETE FROM OTHERTABLE
ROLLBACK TRANSACTION
A.OTHERTABLE中的内容将被删除I SuOL f1E
B.OTHERTABLE和MYTABLE中的内容都会被删除