史上最全最基础的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;
演示: