[Zend权威认证试题讲解]第九章 - PHP与数据库
如果你需要开发动态内容的网站,那么就肯定要用到数据库。尽管现代网站离不开数据库,但很多开发者对它的工作原理仍然知之甚少。4m+cj"V|PHP支持许多种类的数据库,可PHP认证只和PHP能力有关,所以本章的题目不会专门针对某个特定的数据库管理系统。另外,大多数商业DBMS,比如MySQL AB,都有它们自己的认证课程。;?)o3DEzvdNUk{
本章考察你对数据库原理及数据库编程的相关知识——与特定的DBMS无关。
*C6j[OomF7OQ b
问题
1.考虑如下SQL语句。哪个选项能对返回记录的条数进行限制?(双选) m$K1G;fq tI {
SELECT * FROM MY_TABLE
A.如果可能,用把查询转换成存储例程 QVM+L2| C&m
B.如果程序允许,给查询指定返回记录的范围
C.如果可能,添加where条件'f9S1z/^.Y}H
D.如果DBMS允许,把查询转换成视图
E.如果DBMS允许,使用事先准备好的语句&j#w+dXZL E5w lg
7~^!T-t^~,i*a,]
2.可以用添加______条件的方式对查询返回的数据集进行过滤?+pnY"q[I-f
答案:____________
_cJ du(P~
gG])ei!O#D j
3.内关联(inner join)是用来做什么的? mxgu8k!\,O
A.把两个表通过相同字段关联入一张持久的表中^*K)Or S y7w,I:^$|
B.创建基于两个表中相同相同行的结果集
C.创建基于一个表中的记录的数据集
D.创建一个包含两个表中相同记录和一个表中全部记录的结果集
E.以上都不对uZ4`e`8ye(i$x:l
bs P_ Q3v)Y|*A
4.以下哪个DBMS没有PHP扩展库?2Br'R%C@
A.MySQL
B.IBM DB/2pv9[c$DH I"JH
C.PostgreSQLp3V%n!I-V^)z;Fv
D.Microsoft SQL Server!v(I(S%T }"r(pzc+K
E.以上都不对
T/f&RI-mz p
5.考虑如下脚本。假设mysql_query函数将一个未过滤的查询语句送入一个已经打开的数据库连接,以下哪个选项是对的?(双选)
<?phpM5hO i7N&iUe5yW'o
$r = mysql_query ('DELETE FROM MYTABLE WHERE ID=' . $_GET['ID']);a\d:a(NncQ
?>+e0v)m:Y5CP"s
ls(~&R Ga1l
A.MYTABLE表中的记录超过1条
B.用户输入的数据需要经过适当的转义和过滤@%p|_B]&QM K
C.调用该函数将产生一个包含了其他记录条数的记录 c!wp#G"~
D.给URL传递ID=0+OR+1将导致MYTABLE中的所有表被删除
E.查询语句中应该包含数据库名
K-c.h$_]f%I
1W#Q j%r8R$IbU
6.______语句能用来向已存在的表中添加新的记录。oTC tb_
答案:____________
"x'L_1|5Sv+t+Zq
V*N.P'l b vM^
7.以下哪个说法正确?
A.使用索引能加快插入数据的速度 s XrB:qB h9^p1d:G
B.良好的索引策略有助于防止跨站攻击
C.应当根据数据库的实际应用按理设计索引
D.删除一条记录将导致整个表的索引被破坏
E.只有数字记录行需要索引U3dh6a(R'rn*^
m"ph} lJx0ct*i
8.join能否被嵌套?vq~b hR(`
mE;i-mV:M+Q
A.能
B.不能6D5\ c Co sNl8R7[
}"Tw,E{tJ-c%V
9.考虑如下数据表和查询。如何添加索引能提高查询速度?z x6ncX+{!yWo#q
CREATE TABLE MYTABLE ()t0W GU'@B'hXR'r)v
ID INT,
NAME VARCHAR (100),/yG,E7[%N4V0hYu
ADDRESS1 VARCHAR (100),
ADDRESS2 VARCHAR (100),X$zm&p4V9e
ZIPCODE VARCHAR (10),,?UR'A]3Is U ef
CITY VARCHAR (50),