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

oracle加入not null约束的更多相关文章

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

    CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...

  2. 约束Constraints--主键约束、外键约束、唯一约束、检查约束、默认约束、NOT NULL约束、列约束与表约束、创建约束、删除约束

    约束   Including Constraints 以下内容转自:https://www.cnblogs.com/wcl2017/p/7043939.html和http://blog.csdn.ne ...

  3. Oracle删除主键约束的同时删除索引

    继续昨天的折腾(Oracle修改主键约束),删掉主键约束后,发现唯一索引并未删掉.仔细看了下,主键约束跟唯一索引名称不一样,这说明是先创建了唯一索引,后创建的主键约束.我们来试验下: SQL> ...

  4. Oracle系列十二 约束

    约束是表级的强制规定有以下五种约束: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK 注意事项 如果不指定约束名 ,Oracle server 自动按照 S ...

  5. Oracle空串与null的处理

    来源于:http://blog.itpub.net/24870090/viewspace-1057853/ Oracle空串与null的处理[@more@] Oracle中的空字符串基本上是被当成空N ...

  6. [转]Oracle数据库中的约束

    SQL 约束 约束用于限制加入表的数据的类型. 可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句). 我们将主要探讨以下几种约 ...

  7. oracle 删除外键约束 禁用约束 启用约束

    oracle 删除外键约束 禁用约束 启用约束 执行以下sql生成的语句即可 删除所有外键约束 Sql代码  select 'alter table '||table_name||' drop con ...

  8. SQL升级Oracle挖的Null坑,你懂的!

    最近公司做系统数据库升级,主要由原来的SQL数据库升级Oracle数据库,对于拥有千万级数据库的实用系统来说,迁移不是件容易的时,光数据同步就需要很久,更别说要修改升级原来的SQL库使用的存储过程和视 ...

  9. SQL NOT NULL 约束

    SQL NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值. NOT NULL 约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录或者更新记录. 下面的 SQ ...

随机推荐

  1. STL心得

    熟悉c++版算法竞赛程序框架 理解变量引用的原理 熟练掌握string和stringstream 熟练掌握c++结构体的定义和使用,包括构造函数和静态成员变量 了解常见的可重载运算符,包括四则运算,赋 ...

  2. ubuntu下如何查找某个文件的路径

    1.whereis 文件名 特点:快速,但是是模糊查找,例如 找 #whereis mysql 它会把mysql,mysql.ini,mysql.*所在的目录都找出来. 2.find / -name ...

  3. Hibernate 配置文件precision与scale

    Oracle使用标准.可变长度的内部格式来存储数字.这个内部格式精度可以高达38位. NUMBER数据类型可以有两个限定符,如: column NUMBER ( precision, scale) 表 ...

  4. 【莫队算法】【权值分块】bzoj2223 [Coci 2009]PATULJCI

    不带修改主席树裸题<=>莫队+权值分块裸题. 复杂度O(m*sqrt(n)). P.S.题目描述坑爹,第二个数是权值的范围. #include<cstdio> #include ...

  5. elasticsearch将数据导出json文件【使用elasticdump】

    1.前提准备 需要使用npm安装,还未安装的朋友可以阅读另一篇我的博客<安装使用npm>,windows环境. 2.安装es-dump 打开终端窗口PowerShell或者cmd. 输入命 ...

  6. TZOJ 5396: 集五福过大年

    描述 又是一年春来到,伴随着春节,支付宝的“集五福”活动又开始了,五福分别是“爱国福”.“富强福”.“和谐福”.“友善福”和“敬业福”,五张不同的福卡可以合成一张“五福到”,crq也扫了不少福,这么多 ...

  7. 关于char类型的说明

    #include<iostream> using namespace std; int main() {  char ch=128;//VC编译器默认是有符号的.但c并未明确给出.由编译器 ...

  8. Scala实战高手****第16课:Scala implicits编程彻底实战及Spark源码鉴赏

    隐式转换:当某个类没有具体的方法时,可以在该类的伴生对象或上下文中查找是否存在隐式转换,将其转换为可以调用该方法的类,通过代码简单的描述下 一:隐式转换 1.定义类Man class Man(val ...

  9. spark 持久化机制

    spark的持久化机制做的相对隐晦一些,没有一个显示的调用入口. 首先通过rdd.persist(newLevel: StorageLevel)对此rdd的StorageLevel进行赋值,同chec ...

  10. 关于数字、数据处理的几个PHP函数汇总

    1. / 得到的结果是浮点数 2. % 求余数 3.ceil():得到大于当前数字的整数 $num=3.4; $num=ceil($num); echo $num;   的到的结果是4 $num=3. ...