

DEFAULT 约束在 SQL 中是一种非常有用的机制,它允许你在创建表时为列指定一个默认值。当向表中插入新记录时,如果没有为该列显式提供值,那么数据库管理系统就会自动将默认值插入到该列中。
假设我们要创建一个名为 “Persons” 的表,其中包含 “PersonID”(人员 ID,整数类型,为主键)、“FirstName”(名,字符串类型)、“LastName”(姓,字符串类型)和 “City”(所在城市,字符串类型)这几个列。我们希望在 “City” 列上设置一个默认值,比如 “Unknown”,表示如果在插入新记录时没有指定城市,就默认该人员所在城市为 “Unknown”。
以下是创建 “Persons” 表并设置 “City” 列 DEFAULT 约束的 SQL 代码示例:
收起
sql
复制
CREATE TABLE Persons (
PersonID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
City VARCHAR(50) DEFAULT 'Unknown'
);在上述代码中:
CREATE TABLE 语句用于创建一个新的表,这里是 “Persons” 表。PRIMARY KEY)。VARCHAR(50)(可变长度字符串,最长 50 个字符)之外,还使用了DEFAULT 'Unknown'来设置默认值。这意味着当向 “Persons” 表插入新记录时,如果没有为 “City” 列提供具体的值,数据库将会自动将 “Unknown” 插入到该列中。例如,以下是插入新记录的几种情况示例:
收起
sql
复制
INSERT INTO Persons (PersonID, FirstName, LastName, City)
VALUES (1, 'John', 'Doe', 'New York');在这种情况下,因为为 “City” 列提供了具体的值 “New York”,所以插入记录时会使用提供的值,而不会使用默认值 “Unknown”。
收起
sql
复制
INSERT INTO Persons (PersonID, FirstName, LastName)
VALUES (2, 'Jane', 'Smith');此时,由于没有为 “City” 列提供值,数据库会根据之前设置的 DEFAULT 约束,自动将 “Unknown” 插入到 “City” 列中。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。