在MSSQL中,我们可以设置默认值为空,这对于一些字段的数据没有具体值或者在插入数据时不用赋值的情况非常有用。
1. 设置默认值为空
在创建表时,我们可以使用DEFAULT关键字指定一个默认值,而使用NULL则表示为空,例如:
CREATE TABLE test_table (
id INT PRIMARY KEY,
name VARCHAR(50) DEFAULT NULL,
age INT DEFAULT NULL
);
在上面的示例中,我们在name和age字段中都指定了默认值为NULL。
1.1. 示例说明
我们在test_table表中插入一些数据,仅插入id和age两个字段的数据,name字段则为空:
INSERT INTO test_table (id, age) VALUES (1, 20);
INSERT INTO test_table (id, age) VALUES (2, 25);
INSERT INTO test_table (id, age) VALUES (3, 30);
此时我们在查询表中的所有数据:
SELECT * FROM test_table;
输出结果如下:
id | name | age
---|------|----
1 | NULL | 20
2 | NULL | 25
3 | NULL | 30
我们可以看到,name字段的值都是NULL,因为在插入数据时未指定具体的值。
2. 修改现有表中的默认值为空
如果已经存在一个表格,那么我们可以使用ALTER TABLE命令来修改现有表中的默认值。接下来我们将以test_table表为例来演示如何修改默认值为空。
2.1. 示例说明
我们将name字段的默认值修改为空,执行以下命令:
ALTER TABLE test_table
ALTER COLUMN name VARCHAR(50) NULL
这里我们使用ALTER TABLE命令以及ALTER COLUMN子句以及NULL关键字来将name字段的默认值修改为空。
接下来我们再次向表中插入数据,不再赋值name字段:
INSERT INTO test_table (id, age) VALUES (4, 35);
INSERT INTO test_table (id, age) VALUES (5, 40);
查询所有数据:
SELECT * FROM test_table;
输出结果如下:
id | name | age
---|------|----
1 | NULL | 20
2 | NULL | 25
3 | NULL | 30
4 | NULL | 35
5 | NULL | 40
我们可以看到,所有新插入的数据中,name字段的值都是NULL。
3. 总结
在MSSQL中设置默认值为空非常方便,可以在创建表时使用DEFAULT关键字,并将其设置为NULL,如:
CREATE TABLE test_table (
id INT PRIMARY KEY,
name VARCHAR(50) DEFAULT NULL,
age INT DEFAULT NULL
);
也可以使用ALTER TABLE命令修改现有表格中的默认值:
ALTER TABLE test_table
ALTER COLUMN name VARCHAR(50) NULL
无论是创建表时指定默认值为空,还是后续修改现有表的默认值为空,都可以极大地提高数据表格的灵活性。