首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SQL DEFAULT

SQL DEFAULT

原创
作者头像
Yolo-Yolo
发布于 2024-11-16 11:49:54
发布于 2024-11-16 11:49:54
8180
举报

一、SQL DEFAULT 约束概述

DEFAULT 约束在 SQL 中是一种非常有用的机制,它允许你在创建表时为列指定一个默认值。当向表中插入新记录时,如果没有为该列显式提供值,那么数据库管理系统就会自动将默认值插入到该列中。

二、CREATE TABLE 时使用 SQL DEFAULT 约束的示例

假设我们要创建一个名为 “Persons” 的表,其中包含 “PersonID”(人员 ID,整数类型,为主键)、“FirstName”(名,字符串类型)、“LastName”(姓,字符串类型)和 “City”(所在城市,字符串类型)这几个列。我们希望在 “City” 列上设置一个默认值,比如 “Unknown”,表示如果在插入新记录时没有指定城市,就默认该人员所在城市为 “Unknown”。

以下是创建 “Persons” 表并设置 “City” 列 DEFAULT 约束的 SQL 代码示例:

收起

sql

复制

代码语言:javascript
复制
CREATE TABLE Persons (
    PersonID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    City VARCHAR(50) DEFAULT 'Unknown'
);

在上述代码中:

  • CREATE TABLE 语句用于创建一个新的表,这里是 “Persons” 表。
  • 定义了各个列及其数据类型,如 “PersonID” 列是整数类型并且被指定为主键(PRIMARY KEY)。
  • 对于 “City” 列,除了指定其数据类型为VARCHAR(50)(可变长度字符串,最长 50 个字符)之外,还使用了DEFAULT 'Unknown'来设置默认值。这意味着当向 “Persons” 表插入新记录时,如果没有为 “City” 列提供具体的值,数据库将会自动将 “Unknown” 插入到该列中。

例如,以下是插入新记录的几种情况示例:

情况一:为所有列提供值

收起

sql

复制

代码语言:javascript
复制
INSERT INTO Persons (PersonID, FirstName, LastName, City)
VALUES (1, 'John', 'Doe', 'New York');

在这种情况下,因为为 “City” 列提供了具体的值 “New York”,所以插入记录时会使用提供的值,而不会使用默认值 “Unknown”。

情况二:不为 “City” 列提供值

收起

sql

复制

代码语言:javascript
复制
INSERT INTO Persons (PersonID, FirstName, LastName)
VALUES (2, 'Jane', 'Smith');

此时,由于没有为 “City” 列提供值,数据库会根据之前设置的 DEFAULT 约束,自动将 “Unknown” 插入到 “City” 列中。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、SQL DEFAULT 约束概述
  • 二、CREATE TABLE 时使用 SQL DEFAULT 约束的示例
  • 情况一:为所有列提供值
  • 情况二:不为 “City” 列提供值
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档