题目
若用如下的SQL语句创建一个student表:CREATE TABLE student( NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2)) 可以插入到student表中的是()。A. ("0251","王五","男",25)B. ("0251","王五",NULL,NULL)C. (NULL,"王五","男",25)D. ("0251",NULL,"男",25)
若用如下的SQL语句创建一个student表:CREATE TABLE student( NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2)) 可以插入到student表中的是()。
A. ("0251","王五","男",25)
B. ("0251","王五",NULL,NULL)
C. (NULL,"王五","男",25)
D. ("0251",NULL,"男",25)
题目解答
答案
AB
A. ("0251","王五","男",25)
B. ("0251","王五",NULL,NULL)
A. ("0251","王五","男",25)
B. ("0251","王五",NULL,NULL)
解析
本题考查SQL表约束条件的应用,需结合字段的数据类型和NOT NULL约束判断插入值的有效性。关键点在于:
- NOT NULL字段必须有值,不能插入NULL;
- 数据类型匹配,如字符型字段需用字符串表示,数值型字段需用数字;
- 字段长度限制,如C(4)表示最多4个字符。
选项分析
A. ("0251","王五","男",25)
- NO:值为"0251",符合C(4)且非空;
- NAME:值为"王五",符合C(8)且非空;
- SEX:值为"男",符合C(2);
- AGE:值为25,符合N(2)。
结论:有效。
B. ("0251","王五",NULL,NULL)
- NO和NAME满足非空;
- SEX和AGE允许为空(无NOT NULL约束)。
结论:有效。
C. (NULL,"王五","男",25)
- NO为NULL,违反NOT NULL约束。
结论:无效。
D. ("0251",NULL,"男",25)
- NAME为NULL,违反NOT NULL约束。
结论:无效。