如何在 SQL 中將列值設定為 Null?
將列值設定為 Null
要將列值設定為 NULL,請使用 SQL UPDATE 語句,該語句允許修改表中現有的記錄。將列值設定為 NULL 的基本語法如下:
語法
UPDATE table_name SET column_name = NULL WHERE conditions;
其中 -
- table_name: 將其替換為您要更新的表的名稱。
- column_name: 用要更新的列的名稱替換此名稱。
- NULL: 表示 SQL 中的 NULL 值。
- WHERE: 此可選子句指定要更新的行。
示例
首先,讓我們使用 CREATE TABLE 命令建立表,如下所示:
CREATE TABLE Customers ( Customer_ID integer, Customer_Name varchar(20), Gender varchar(2) );
以下查詢將值插入到上面建立的表中:
INTO Customers VALUES (1, 'Nidhi', 'F'); INSERT INTO Customers VALUES (2, 'Ram', 'M'); INSERT INTO Customers VALUES (3, 'Nikhil', 'M'); INSERT INTO Customers VALUES (4, 'Riya', 'F');
如果您嘗試檢索表的內容,則會顯示如下所示:
Customer_ID | Customer_Name | Gender |
---|---|---|
1 | Nidhi | F |
2 | Ram | M |
3 | Nikhil | M |
4 | Riya |
F |
UPDATE Customers SET Gender = NULL WHERE Gender = 'F'; SELECT * FROM Customers;
上述查詢的結果將如下所示:
Customer_ID | Customer_Name | Gender |
---|---|---|
1 | Nidhi | |
2 | Ram | M |
3 | Nikhil | M |
4 | Riya |
將列值設定為 NULL
您也可以在不使用 WHERE 子句的情況下將列值設定為 NULL:
示例
UPDATE Customers SET Gender = NULL; SELECT * FROM Customers;
輸出
Customer_ID | Customer_Name | Gender |
---|---|---|
1 | Nidhi | |
2 | Ram | |
3 | Nikhil | |
4 | Riya |
如果已設定約束以阻止特定列值為空,則隨後嘗試將其設定為 NULL 將導致錯誤。
示例
讓我們透過向名為“Gender”的列新增“NOT NULL”約束來重新建立上一個表。
CREATE TABLE Customers ( Customer_ID integer, Customer_Name varchar(20), Gender varchar(2) NOT NULL );
讓我們填充表:
INSERT INTO Customers VALUES (1, 'Nidhi', 'F'); INSERT INTO Customers VALUES (2, 'Ram', 'M'); INSERT INTO Customers VALUES (3, 'Nikhil', 'M'); INSERT INTO Customers VALUES (4, 'Riya', 'F');
建立的表將如下所示:
Customer_ID | Customer_Name | Gender |
---|---|---|
1 | Nidhi | F |
2 | Ram | M |
3 | Nikhil | M |
4 | Riya | F |
以下查詢嘗試將“Gender”列的值更新為NULL:
UPDATE Customers SET Gender = NULL WHERE Gender = 'F';
輸出
ERROR: Gender cannot be NULL.
在本文“如何在 SQL 中將列值設定為 Null”中,我們介紹了一些基本要點:
- 在 UPDATE 語句中包含表名。
- 將 NULL 分配給指定的列。
- 使用 WHERE 子句選擇要更新的行。
- 執行 SQL 查詢以應用更改。
廣告