A-A+

若用如下的SQL语句创建一个表S:CREATE TABLES(S#CHAR(6)NOT NU

2022-08-05 23:56:10 问答库 阅读 173 次

问题详情

若用如下的SQL语句创建一个表S:CREATE TABLES(S#CHAR(6)NOT NULL,SNAMECHAR(8)NOT NULL,SEXCHAR(2),AGE INTEGER),今向S表插入如下行时,哪一行可以被插入?
A. ("991001","李芳",女,"23")
B.("990746","陈为",NULL,NULL)
C.(NULL,"张一","男",32)
D.("992345",NULL,"女",25)请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:CREATETABLES(S#CHAR(6)NOTNULL.SNAMECHAR(8)NOTNULL,SEXCHAR(2),AGEINTEGER)语句创建了一个基本表,包含四个属性;S#字符串型,不能为空;SNAME字符串型,不能为空;SEX字符串型,没有要求不能为空;AGE整数型,没有要求不能为空。选项A中属性SEX的值没有单引号,不符合要求,而属性AGE的值加上了单引号,不是整数型,不能插入;选项C,属性S#的值是NULL,故不能插入;选项D,SNAME的值是NULL,故也不能插入;只有选项B满足四个属性的要求,可以插入。

考点:语句