MySQL数据表设计技巧试题及答案
姓名:____________________
一、单项选择题(每题2分,共10题)
1.在MySQL中,以下哪种数据类型适合存储固定长度的字符串?
A.VARCHAR
B.TEXT
C.ENUM
D.CHAR
2.关于MySQL中的主键约束,以下说法正确的是:
A.一个表只能有一个主键
B.主键的值可以重复
C.主键可以包含多个列
D.主键的值可以是NULL
3.在MySQL中,以下哪种存储引擎支持行级锁定?
A.MyISAM
B.InnoDB
C.Memory
D.Merge
4.以下哪个SQL语句可以创建一个名为“students”的表,其中包含名为“id”的主键列和名为“name”的字符串列?
A.CREATETABLEstudents(idINTPRIMARYKEY,nameVARCHAR(50));
B.CREATETABLEstudents(idINT,nameVARCHAR(50),PRIMARYKEY(id));
C.CREATETABLEstudents(idINT,nameVARCHAR(50),idINTPRIMARYKEY);
D.CREATETABLEstudents(idINT,nameVARCHAR(50),PRIMARYKEY(name));
5.在MySQL中,以下哪个SQL语句可以删除名为“students”的表?
A.DROPTABLEstudents;
B.DELETETABLEstudents;
C.TRUNCATETABLEstudents;
D.ALTERTABLEstudentsDROP;
6.关于MySQL中的外键约束,以下说法正确的是:
A.外键必须引用主键
B.外键可以引用非主键的列
C.外键可以引用其他表的列
D.外键可以引用NULL值
7.在MySQL中,以下哪种SQL语句可以查询名为“students”的表中名为“name”的列的所有值?
A.SELECTnameFROMstudents;
B.SELECT*FROMstudentsWHEREname;
C.SELECTnameFROMstudentsWHEREnameISNOTNULL;
D.SELECTnameFROMstudentsWHEREname;
8.关于MySQL中的索引,以下说法正确的是:
A.索引可以提高查询速度
B.索引会降低插入、删除和更新操作的性能
C.索引可以存储重复的值
D.索引是自动创建的
9.在MySQL中,以下哪个SQL语句可以修改名为“students”的表中名为“name”的列的数据类型?
A.ALTERTABLEstudentsMODIFYnameVARCHAR(50);
B.ALTERTABLEstudentsCHANGEnamenameVARCHAR(50);
C.ALTERTABLEstudentsRENAMECOLUMNnameTOname_new;
D.ALTERTABLEstudentsADDCOLUMNname_newVARCHAR(50);
10.以下哪个SQL语句可以创建一个名为“teachers”的表,其中包含名为“id”的主键列、名为“name”的字符串列和名为“department”的外键列,外键列引用“students”表中的“id”列?
A.CREATETABLEteachers(idINT,nameVARCHAR(50),departmentINT,FOREIGNKEY(department)REFERENCESstudents(id));
B.CREATETABLEteachers(idINT,nameVARCHAR(50),departmentINT,FOREIGNKEY(id)REFERENCESstudents(id));
C.CREATETABLEteachers(idINT,nameVARCHAR(50),departmentINT,PRIMARYKEY(department));
D.CREATETABLEteachers(idINT,nameVARCHAR(50),departmentINT,FOREIGNKEY(name)REFERENCESstudents(id));
二、多项选择题(每题3分,共10题)
1.在设计MySQL数据表时,以下哪