在创建表时。为列加入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. HDU 2537 8球胜负(模拟)

    /*这是一个模拟题,模拟一种台球的进球过程,并且判定胜负. 对于输入的字符串,如果出现R则红方记1分,如果出现Y则黄方记1分. 最后根据哪一方打进黑球和得分情况判定胜负. 程序说明: 这里给出两个C语 ...

  2. python 2 range, list, and set

    这里主要说的是用python中的range来模拟for循环 转载请声明本文的引用出处:仰望大牛的小清新 1.range(var1,var2,var3): range产生一个列表(list),var1& ...

  3. POJ 3281 Dining(网络流)

                                                                        Dining Time Limit: 2000MS   Memo ...

  4. ( 转 ) mysql复合索引、普通索引总结

    对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合 ...

  5. 【递推】【卡特兰数】CODEVS 3134 Circle

    新GET了一种卡特兰数的应用…… 在一个圆上,有2*K个不同的结点,我们以这些点为端点,连K条线段,使得每个结点都恰好用一次.在满足这些线段将圆分成最少部分的前提下,请计算有多少种连线的方法. 不会证 ...

  6. Exercise02_07

    import javax.swing.JOptionPane; public class Years { public static void main(String[] args){ String ...

  7. 【java】乱码处理+编码转化+判断字符串编码方式

    之前有一篇是修改IDE的编码,服务器的编码等处理乱码,但是在所有环境因素上,保证了编码方式之后,也会有前台传递给后台[get方式提交]传递给后台的编码方式是非UTF-8的,也会有例如FTP服务器的编码 ...

  8. [转载]iOS6新特征:UICollectionView官方使用示例代码研究

    原文地址:iOS6新特征:UICollectionView官方使用示例代码研究作者:浪友dans 注:这里是iOS6新特征汇总贴链接 iOS6新特征:参考资料和示例汇总 这个链接可以学习到UIColl ...

  9. ASP.NET Core 1.0基础之诊断

    来源https://docs.asp.net/en/latest/fundamentals/diagnostics.html ASP.NET Core 1.0包含了一些新的特性来辅助诊断问题.可以在S ...

  10. iOS开发学习 阶段过程简述

    下面就简单介绍一下我iOS开发的感受,也是学习iOS开发的一个体系架构. 1 iOS开发环境 1.1 开发环境 标准的配置是Mac OS X + Xcode. MacOSX的话首选用苹果电脑,macm ...