在创建表时,为列添加not null约束,形式如下: column_name data_type [constraint constraint_name] not null 其中,constraint constraint_name 表示为约束指定名称。 也可以为已创建的表中添加not null约束,这时就需要使用alter table... modify语句,形式如下: alter table table_name modify column_name [constraint constraint_name] not null; 删除not null约束 如果需要删除表中的裂伤的not null约束,依然是使用alter table...modify语句,形式如下: alter table table_name modify column_name null; 具体的操作如下: SQL> create table person( 2 pid number(4) not null, 3 pname varchar2(20), 4 psex char(2) 5 ); 表已创建。 SQL> desc person; 名称 是否为空? 类型 ----------------------------------------- -------- ------------------- PID NOT NULL NUMBER(4) PNAME VARCHAR2(20) PSEX CHAR(2) SQL> alter table person modify pname not null; 表已更改。 SQL> desc person; 名称 是否为空? 类型 ----------------------------------------- -------- ------------------ PID NOT NULL NUMBER(4) PNAME NOT NULL VARCHAR2(20) PSEX CHAR(2) SQL> insert into person values(1,'aaa','女'); 已创建 1 行。 SQL> insert into person values(1,'aaa',null); 已创建 1 行。 SQL> insert into person values(1,null,null); insert into person values(1,null,null) * 第 1 行出现错误: ORA-01400: 无法将 NULL 插入 ("SYSTEM"."PERSON"."PNAME") SQL> alter table person modify pname null; 表已更改。 SQL> desc person; 名称 是否为空? 类型 ----------------------------------------- -------- ------------------ PID NOT NULL NUMBER(4) PNAME VARCHAR2(20) PSEX CHAR(2) SQL> insert into person values(1,null,null); 已创建 1 行。 SQL>