- MySQL入门很轻松(微课超值版)
- 云尚科技
- 1079字
- 2021-03-29 01:05:00
5.4 默认约束
默认约束(Default Constraint)用于指定某列的默认值,这就需要为数据表中的某个字段添加一个默认约束。注意,一个字段只有在不可为空的时候才能设置默认约束。
5.4.1 创建表时添加默认约束
数据表的默认约束可以在创建表时创建,一般添加默认约束的字段有两种情况:一种是该字段不能为空;一种是该字段添加的值总是某一个固定值。创建表时添加默认约束的语法格式如下:
主要参数介绍如下。
- DEFAULT:默认值约束的关键字,它通常放在字段的数据类型之后。
- constant_expression:常量表达式,该表达式可以直接是一个具体的值,也可以是通过表达式得到一个值,但是这个值必须与该字段的数据类型相匹配。
提示:除了可以为表中的一个字段设置默认约束,还可以为表中的多个字段同时设置默认约束,不过,每一个字段只能设置一个默认约束。
【实例9】在数据库test中,创建一个数据表person,为city字段添加一个默认值“北京”,输入以下SQL语句:
单击“执行”按钮,即可完成添加默认约束的操作,如图5-19所示。执行完成后,使用“DESC person;”语句即可看到该数据表的结构,如图5-20所示。可以看到数据表的默认值为“北京”。
图5-19 添加默认约束
图5-20 查看表结构
5.4.2 修改表时添加默认约束
如果创建数据表时没有添加默认约束,可以使用ALTER语句对现有表添加默认值约束。使用ALTER语句添加默认约束的语法格式如下:
ALTER TABLE table_name ALTER col_name SET DEFAULT constant_expression;
主要参数介绍如下。
- table_name:表名,它是要添加默认约束列所在的表名。
- DEFAULT:默认约束的关键字。
- constant_expression:常量表达式,该表达式可以直接是一个具体的值,也可以是通过表达式得到的一个值,但是这个值必须与该字段的数据类型相匹配。
- col_name:设置默认约束的列名。
【实例10】person表创建完成后,如果没有为city字段添加默认约束值“北京”,则可以输入以下SQL语句来添加默认约束。
ALTER TABLE person ALTER city SET DEFAULT "北京";
单击“执行”按钮,即可完成在DEFAULT约束的添加操作,如图5-21所示。执行完成后,使用“DESC person;”语句即可看到该数据表的结构,如图5-22所示。可以看到数据表的默认值为“北京”,这与创建表时添加默认约束是一样的。
图5-21 修改表时添加默认约束
图5-22 查看表person的结构
5.4.3 删除表中的默认约束
当表中的某个字段不再需要默认值时,可以将默认值约束删除,这个操作非常简单。使用DROP语句删除默认值约束的语法格式如下:
ALTER TABLE table_name ALTER col_name DROP DEFAULT;
主要参数介绍如下。
- table_name:表名,它是要删除的默认值约束列所在的表名。
- col_name:设置默认约束的列名。
【实例11】将person表中添加的默认值约束删除,输入如下SQL语句:
ALTER TABLE person ALTER city DROP DEFAULT;
单击“执行”按钮,即可完成对默认值约束的删除操作,如图5-23所示。执行完成后,使用“DESC person;”语句即可看到该数据表的结构,可以看到数据表的默认值被删除,如图5-24所示。
图5-23 删除默认值约束
图5-24 删除默认约束后的表结构