默認(rèn)情況下,一列可以容納NULL值。如果不想列有NULL值,那么需要不允許此列指定NULL定義這樣的約束。
一個(gè)NULL和沒(méi)有數(shù)據(jù)是不一樣的,相反它代表了未知的數(shù)據(jù)。
例如,下面的SQL創(chuàng)建一個(gè)新的表稱為CUSTOMERS,并增加了五列,其中的三個(gè): 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表已經(jīng)創(chuàng)建,然后添加一個(gè)NOT NULL約束SALARY列在Oracle和MySQL,應(yīng)該寫(xiě)類似如下的聲明:
ALTER TABLE CUSTOMERS MODIFY SALARY DECIMAL (18, 2) NOT NULL;