oracle添加not null约束

在创建表时,为列添加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>

时间: 2024-08-02 00:03:06

oracle添加not null约束的相关文章

oracle加入not null约束

在创建表时.为列加入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 cons

转载:oracle添加约束禁用延迟

添加NOT NULL约束 alter table tb_name modity column_name constraint nt_name not null; 需要注意的是,添加NOT NULL约束并不使得add constraint语句,而是使用modify. 添加FOREIGN KEY约束 alter table tb_name1 add constraint fk_name foreign key (column_name1) references tb_name2(column_nam

oracle添加,修改非空约束

NOT NULL约束就是非空约束,经常会在创建表的时候添加非空约束以保证字段必须要输入值 (1)创建表时添加NOT NULL约束 语法: CREATE TABLE 表名( 字段   类型  NOT NULL ........ ); 实例:  CREATE TABLE MANAGERINFO( MANAGERID VARCHAR2(10), LOGINNAME VARCHAR2(10) NOT NULL, PASSWORD VARCHAR2(10) NOT NULL, NAME VARCHAR2(

Oracle表中添加外键约束

添加主键约束: ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID); 有三种形式的外键约束: 1.普通外键约束(如果存在子表引用父表主键,则无法删除父表记录) 2.级联外键约束(可删除存在引用的父表记录,而且同时把所有有引用的子表记录也删除) 3.置空外键约束(可删除存在引用的父表记录,同时将子表中引用该父表主键的外键字段自动设为NULL,但该字段应允许空值) 这三种外键约束的建立语法如下: 例如

SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束

CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... ) 数据类型(data_type)规定了列可容纳何种数据类型.下面的表格包含了SQL中最常用的数据类型: 数据类型 描述 integer(size) int(size) smallint(size) tinyint(size) 仅容纳整数.在括号内规定数字的最

[转]Oracle数据库中的约束

SQL 约束 约束用于限制加入表的数据的类型. 可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句). 我们将主要探讨以下几种约束: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT 1.NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值. NOT NULL 约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录或者更新记录. 下

mySQL 约束 (Constraints):一、非空约束 NOT NULL 约束

非空约束 NOT NULL 约束: 强制列不能为 NULL 值,约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录或者更新记录. 1.在 "Persons" 表创建时在 Id列.name列创建 not null 约束: create table Persons(id int not NULL,p_name varchar(20) not null, deparment varchar(20),address varchar(20),telNum varchar(20

『ORACLE』 内置约束(11g)

not null约束只能在列级定义:可以指定not null约束的名称,如不指定则自动生成名称 SQL> create table t1 (x number not null, y number constraint nn_t111_y not null); Table created. SQL> select constraint_name,constraint_type,search_condition from user_constraints where table_name = up

oracle添加联合主键

1 alter table tablename add constraint unionkeyname primary key (column1,column2); 上面语句中: tablename为要添加联合约束的表 unionkeyname为添加的联合约束的名称 column1,column2为联合主键作用的两个列列名