问题 单项选择题

若用如下的SQL语句创建一个表K:
CREATE TABLE K(S# char(16) NOT NULL;
SNAME char (8)NOT NULL, SEX char (2),AGE integer)
向表S中插入如下行时, ( )可以被插入。

A.(′872476,′小芳′,女,′21′)

B.(′854231′,′小明′,NULL, NULL)

C.(NULL, ′小强′,′男′,65)

D.(′657123′,NULL, ′女′,20)

答案

参考答案:B

解析: SQL用CREATE TABLE语句创建基本表,其一般格式如下:
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束]
[,<列名><数据类型>[列级完整性约束] …]
[,<表级完整性约束>])
[其他参数];
使用SQL语句创建基本表时通常还可以定义与该表有关的完整性约束,当用户对表进行操作时,由DBMS自动检查该操作是否违背所定义的完整性约束。另外,SQL支持空值的概念,任何列可以有空值,除非在CREATE TABLE的语句列的定义中指定了NOT NULL。由题干可以知道,插入行的前两个属性不能为NULL。4个选项中,C)和D)在前两个属性出现了NULL,A)的第三个属性不是字符型,故本题选B)。

多项选择题 案例分析题
单项选择题