MySQL外键约束及试题及答案
姓名:____________________
一、单项选择题(每题2分,共10题)
1.在MySQL中,外键约束的作用是?
A.保证数据的完整性
B.提高查询效率
C.限制数据的插入
D.以上都是
2.以下哪个是正确的创建外键的语法?
A.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)
B.FOREIGNKEYtable_name(column_name)REFERENCEScolumn_name
C.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)
D.REFERENCESFOREIGNKEY(column_name)REFERENCEStable_name(column_name)
3.在以下哪个情况下,MySQL会自动删除具有外键约束的记录?
A.当主表记录被删除时
B.当外键表记录被删除时
C.当主表记录被修改时
D.当外键表记录被修改时
4.以下哪个是正确的删除外键约束的语法?
A.ALTERTABLEtable_nameDROPFOREIGNKEYconstraint_name
B.DROPFOREIGNKEYtable_nameconstraint_name
C.ALTERTABLEtable_nameDROPCONSTRAINTconstraint_name
D.DROPCONSTRAINTFOREIGNKEYtable_nameconstraint_name
5.在MySQL中,外键约束可以引用?
A.同一表中的其他列
B.不同表中的列
C.自身表中的列
D.任何类型的列
6.当外键约束被定义在子表中时,以下哪个说法是正确的?
A.子表必须引用主表的主键
B.子表可以引用主表的非主键列
C.子表可以引用主表的其他表的主键
D.子表不能引用主表的主键
7.以下哪个是正确的级联更新(ONUPDATECASCADE)的语法?
A.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)ONUPDATECASCADE
B.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)ONUPDATECASCADE
C.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)ONUPDATECASCADE
D.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)ONUPDATECASCADE
8.在以下哪个情况下,MySQL会自动更新具有外键约束的记录?
A.当主表记录被删除时
B.当外键表记录被删除时
C.当主表记录被修改时
D.当外键表记录被修改时
9.以下哪个是正确的级联删除(ONDELETECASCADE)的语法?
A.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)ONDELETECASCADE
B.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)ONDELETECASCADE
C.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)ONDELETECASCADE
D.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)ONDELETECASCADE
10.在MySQL中,外键约束可以设置哪些级联操作?
A.ONDELETECASCADE
B.ONDELETESETNULL
C.ONDELETERESTRICT
D.以上都是
二、多项选择题(每题3分,共5题)
1.以下哪些是外键约束的优点?
A.保证数据的完整性
B.提高查询效率
C.限制数据的插入
D.防止数据冗余
2.以下哪些是外键约束的语法组成部分?
A.FOREIGNKEY
B.REFERENCES
C.column_name
D.table_name
3.以下哪些是外键约束的级联操作?
A.ON