如何在 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 查询以应用更改。
广告