SQL - NOT NULL(非空) 约束

  • 简述

    默认情况下,列可以包含 NULL 值。如果您不希望列具有 NULL 值,则需要在此列上定义这样的约束,指定该列现在不允许 NULL。
    NULL 不等于没有数据,而是表示未知数据。
  • 例子

    例如,以下 SQL 查询创建了一个名为 CUSTOMERS 的新表并添加了五列,其中三列是 ID NAME 和 AGE,在此我们指定不接受 NULL -
    
    CREATE TABLE CUSTOMERS(
       ID   INT              NOT NULL,
       NAME VARCHAR (20)     NOT NULL,
       AGE  INT              NOT NULL,
       ADDRESS  CHAR (25) ,
       SALARY   DECIMAL (18, 2),       
       PRIMARY KEY (ID)
    );
    
    如果已经创建了 CUSTOMERS 表,那么要向 Oracle 和 MySQL 中的 SALARY 列添加 NOT NULL 约束,您将编写一个类似于以下代码块中所示的查询。
    
    ALTER TABLE CUSTOMERS
       MODIFY SALARY  DECIMAL (18, 2) NOT NULL;