史上最全最基础的Oracle数据库教程(入门十一)数据库表的操作--非空约束

11.1非空(not null)约束

NOT NULL约束用于确保列不能为NULL,如果在列上定义了NOT NULL约束,那么当插入数据时,必须为该列提供数据。当更新列数据时,不能为其值设置为NULL。(非空not null约束是列级约束)

列级约束:

column [CONSTRAINT constraint_name] constraint_type,列级约束必须跟在列的定义后面。

表级约束:

column,...[CONSTRAINT constraint_name] constraint_type (column,...),表级约束不与列一起,而是单独定义的。

创建表时添加非空(not null)约束的语句:

create table student

(

 sid number(8,0),

 name varchar2(20) not null,

 sex char(2) constraint nn_sex not null,

 birthday date,

 address varchar2(50),

 constraint sid_pk primary key(sid)

);

修改表添加约束的格式对比

修改表添加约束的语法格式:

ALTER TABLE table_name ADD  [CONSTRAINT constraint_name] constraint_type (column);

而添加非空(not null)约束要使用MODIFY语句

ALTER TABLE table_name MODIFY (column datatype NOT NULL);

删除约束的方式

将约束无效化或**:

DISABLE | ENABLE CONSTRAINT constraint_name

将约束彻底删除:

DROP CONSTRAINT constraint_name

删除主键约束的格式:

DROP PRIMARY KEY

删除非空的约束的方式

删除非空(not null)约束的语法格式:

ALTER TABLE table_name MODIFY column_name datatype NULL;

演示:

史上最全最基础的Oracle数据库教程(入门十一)数据库表的操作--非空约束