MySQL中的数据完整性与约束分析试题及答案
姓名:____________________
一、单项选择题(每题2分,共10题)
1.在MySQL中,用于保证数据表中列值的唯一性的约束是:
A.NOTNULL
B.UNIQUE
C.PRIMARYKEY
D.FOREIGNKEY
2.以下哪个不是MySQL中的数据完整性约束?
A.完整性约束
B.唯一性约束
C.非空约束
D.字符串约束
3.在创建表时,如何指定某列的值不能为空?
A.SETNULL
B.NOTNULL
C.DEFAULT
D.UNIQUE
4.以下哪条SQL语句可以创建一个名为`students`的表,其中包含`id`列和`name`列,`id`列为主键?
A.CREATETABLEstudents(idINTPRIMARYKEY,nameVARCHAR(50));
B.CREATETABLEstudents(idINT,nameVARCHAR(50)PRIMARYKEY);
C.CREATETABLEstudents(idINTNOTNULL,nameVARCHAR(50)NOTNULL);
D.CREATETABLEstudents(idINT,nameVARCHAR(50),PRIMARYKEY(id));
5.在MySQL中,使用`CHECK`约束可以:
A.确保列值不为空
B.确保列值唯一
C.确保列值在指定的范围内
D.确保列值是数字类型
6.以下哪条SQL语句可以在`students`表的`age`列上创建一个名为`age_check`的CHECK约束,确保年龄在0到150之间?
A.ALTERTABLEstudentsADDCONSTRAINTage_checkCHECK(ageBETWEEN0AND150);
B.ALTERTABLEstudentsMODIFYageINTCHECK(ageBETWEEN0AND150);
C.ALTERTABLEstudentsADDageINTCHECK(ageBETWEEN0AND150);
D.ALTERTABLEstudentsMODIFYageVARCHAR(3)CHECK(ageBETWEEN0AND150);
7.在MySQL中,外键约束用于:
A.确保列值不为空
B.确保列值唯一
C.确保列值在指定的范围内
D.确保列值与另一个表中的某个列值相对应
8.以下哪条SQL语句可以在`students`表的`class_id`列上创建一个名为`class_id_foreign`的外键约束,该约束引用`classes`表中的`id`列?
A.ALTERTABLEstudentsADDCONSTRAINTclass_id_foreignFOREIGNKEY(class_id)REFERENCESclasses(id);
B.ALTERTABLEstudentsADDclass_idINTFOREIGNKEYREFERENCESclasses(id);
C.ALTERTABLEstudentsADDCONSTRAINTclass_idFOREIGNKEY(class_id)REFERENCESclasses(id);
D.ALTERTABLEstudentsADDFOREIGNKEY(class_id)REFERENCESclasses(id);
9.以下哪个选项不是删除约束的方法?
A.ALTERTABLEstudentsDROPCONSTRAINTage_check;
B.ALTERTABLEstudentsDROPCOLUMNage;
C.ALTERTABLEstudentsMODIFYageINT;
D.ALTERTABLEstudentsDROPPRIMARYKEY;
10.在MySQL中,使用`FOREIGNKEY`约束可以保证:
A.数据的完整性
B.列值的唯一性
C.列值的非空性
D.列值的范围
二、多项选择题(每题3分,共10题)
1.MySQL中的数据完整性约束主要包括:
A.完整性约束
B.唯一性约束
C.非空约束
D.主键约束
2.在创建表时,以下哪些属性可以用于设置外键约束?
A.REFERENCES
B.ONDELETE
C.ONUPDATE
D.CHECK
3.使用外键