SQL DEFAULT:默认约束

 
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;