SQL DEFAULT:默认约束

1年前 (2024-04-27)

SQL DEFAULT 约束用于给字段指定一个默认值,当使用 INSERT INTO 语句向表中插入数据时,如果没有为该字段提供具体的值,那么就使用这个默认值。

示例

下面的 SQL 语句将创建一个名为 website 的新表,该表包含五个字段,其中 uv 和 country 字段拥有 DEFAULT 约束,默认值分别为 10.0 和空字符串''。如果 INSERT INTO 语句不为 uv 和 country 字段提供值,那么这两个字段将使用默认值 10.0 和空字符串''

CREATE TABLE website (

id INT NOT NULL AUTO_INCREMENT,

name VARCHAR(20) NOT NULL,

url VARCHAR(30),

age TINYINT UNSIGNED NOT NULL,

alexa INT UNSIGNED NOT NULL,

uv FLOAT DEFAULT '10.0',

country CHAR(3) NOT NULL DEFAULT '',

PRIMARY KEY (`id`)

);


如果已经创建了 website 表,则可以使用 ALTER TABLE 语句将 DEFAULT 约束添加到 uv 字段,如下所示:

ALTER TABLE website

MODIFY uv FLOAT DEFAULT '10.0';

删除默认约束

借助 ALTER TABLE 语句也可以删除默认约束,如下所示:

ALTER TABLE website

ALTER COLUMN uv DROP DEFAULT;