SQL NOT NULL約束

2019-10-16 22:51:00

預設情況下,一列可以容納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表已經建立,然後新增一個NOT NULL約束SALARY列在Oracle和MySQL,應該寫類似如下的宣告:

ALTER TABLE CUSTOMERS
   MODIFY SALARY  DECIMAL (18, 2) NOT NULL;