SQL 面试题 目录

什么是默认约束 (DEFAULT Constraint)?

推荐答案

默认约束(DEFAULT Constraint)是 SQL 中用于为表中的列指定默认值的一种约束。当插入新记录时,如果没有为该列提供值,数据库系统会自动使用默认值填充该列。

在上面的例子中,HireDate 列被赋予了默认约束,默认值为当前日期(通过 GETDATE() 函数获取)。如果插入新记录时没有为 HireDate 提供值,数据库会自动使用当前日期填充该列。

本题详细解读

默认约束的作用

默认约束的主要作用是为表中的列提供一个默认值,以确保在插入新记录时,即使没有显式提供值,该列也不会为空。这对于确保数据的完整性和一致性非常重要。

默认约束的语法

默认约束可以在创建表时定义,也可以在表创建后通过 ALTER TABLE 语句添加。

  1. 创建表时定义默认约束:

  2. 通过 ALTER TABLE 添加默认约束:

默认约束的示例

假设我们有一个 Orders 表,其中包含一个 OrderDate 列,我们希望在没有提供 OrderDate 值时,默认使用当前日期。

在这个例子中,如果插入新订单时没有提供 OrderDate,数据库会自动使用当前日期填充该列。

默认约束的注意事项

  • 默认值的数据类型:默认值的数据类型必须与列的数据类型兼容。
  • 默认值的表达式:默认值可以是一个常量值,也可以是一个表达式(如 GETDATE())。
  • 默认约束的删除:可以通过 ALTER TABLE 语句删除默认约束。

默认约束的应用场景

  • 自动填充日期:如记录创建时间、更新时间等。
  • 设置默认状态:如订单状态默认为“待处理”。
  • 填充常用值:如默认的国家代码、默认的用户角色等。

通过使用默认约束,可以简化数据插入操作,并确保数据的完整性和一致性。

纠错
反馈