如何在 SQL 中使用 DEFAULT
一、SQL DEFAULT 语法
在这篇 SQL 文章中,您将了解如何在结构化查询语言中对表的列使用 DEFAULT。
DEFAULT 是 SQL 中的一个约束,它允许用户使用默认值或固定值填充列。
如果在插入时没有为列指定值,则默认值将自动添加到该列。
以下语法在创建表时将 DEFAULT 约束添加到列:
CREATE TABLE Table_Name
(
Column_Name_1 DataType (character_size of the column_1) DEFAULT Value,
Column_Name_2 DataType (character_size of the column_2) DEFAULT Value,
Column_Name_3 DataType (character_size of the column_3) DEFAULT Value,
........,
Column_Name_N DataType (character_size of the column_N) DEFAULT Value,
) ;
在 SQL DEFAULT 语法中,我们必须使用 DEFAULT 约束来定义值。数据库用户可以轻松地为一个 SQL 表中的一列或多列指定 DEFAULT 约束。
当表已经存在时,以下语法将 DEFAULT 约束添加到列:
ALTER TABLE Table_Name ALTER COLUMN Column_Name datatype DEFAULT;
二、SQL DEFAULT 使用步骤
如果要在创建表时使用 DEFAULT 约束,则必须按照以下步骤操作:
- 创建新数据库
- 创建一个新表并添加 DEFAULT
- 插入记录
- 查看表的数据
第 1 步:创建简单的新数据库
首先,您必须使用结构化查询语言创建一个新数据库。
以下查询在 SQL Server 中创建新的行业数据库:
CREATE Database Voting;
第 2 步:创建新表并添加 DEFAULT
以下查询在行业数据库中创建Client_Info表,并将 CHECK 约束添加到表的 Client_Age列:
CREATE TABLE Client_Info
(
Client_ID INT NOT NULL PRIMARY KEY,
Client_Name VARCHAR (100),
Client_Gender Varchar(20),
Client_Age INT NOT NULL DEFAULT 18,
Client_Address Varchar (80)
);
第 3 步:插入值
以下 INSERT 查询在 Client_Info 表中插入客户记录:
INSERT INTO Client_Info (Client_ID, Client_Name, Client_Gender, Client_Age, Client_Address) VALUES (1001, Arush, Male, Agra);
INSERT INTO Client_Info (Client_ID, Client_Name, Client_Gender, Client_Age, Client_Address) VALUES (1002, Bulbul, Female, Lucknow);
INSERT INTO Client_Info (Client_ID, Client_Name, Client_Gender, Client_Age, Client_Address) VALUES (1004, Saurabh, Male, 20, Lucknow);
INSERT INTO Client_Info (Client_ID, Client_Name, Client_Gender, Client_Age, Client_Address) VALUES (1005, Shivani, Female, Agra );
INSERT INTO Client_Info (Client_ID, Client_Name, Client_Gender, Client_Age, Client_Address) VALUES (1006, Avinash, Male, 22, Delhi);
INSERT INTO Client_Info (Client_ID, Client_Name, Client_Gender, Client_Age, Client_Address) VALUES (1007, Shyam, Male, Banglore);
第 4 步:查看表的数据
以下查询显示了 Client_Info 表的数据。
SELECT * FROM Client_Info;
Client_ID | Client_Name | Client_Gender | Client_Age | Client_Address |
---|---|---|---|---|
1001 | Arush | Male | 18 | Agra |
1002 | Bulbul | Female | 18 | Lucknow |
1004 | Saurabh | Male | 20 | Lucknow |
1005 | Shivani | Female | 18 | Agra |
1006 | Avinash | Male | 22 | Delhi |
1007 | Shyam | Male | 18 | Banglore |
三、在多列上添加DEFAULT约束
以下 CREATE TABLE 查询为 Doctor_Info 表的多个列指定了 DEFAULT 约束:
CREATE TABLE Doctor_Info
(
Doctor_ID INT NOT NULL PRIMARY KEY,
Doctor_Name VARCHAR (100),
Doctor_Specialist VARCHAR (80) DEFAULT Heart,
Doctor_GenderVarchar (20) DEFAULT Male,
Doctor_Country Varchar (80) DEFAULT Russia
) ;
以下查询在 Doctor_Info 表中插入多条医生记录:
INSERT INTO Doctor_Info (Doctor_ID, Doctor_Name, Doctor_Specialist, Doctor_Gender, Doctor_Country) VALUES ( 1035, Jones, U. K.),
(1015, Moris),
(1003, Harry, Fever, U. K.),
(1044, Bella, Female, U. K.),
(1025, Moria);
以下查询显示了 Doctor_Info 表的详细信息:
SELECT * FROM Doctor_Info;
Doctor_ID | Doctor_Name | Doctor_Disease | Doctor_Gender | Doctor_Country |
---|---|---|---|---|
1035 | Jones | Heart | Male | U. K. |
1015 | Moris | Heart | Male | Russia |
1003 | Harry | Fever | Male | U. K. |
1044 | Bella | Heart | Female | U. K. |
1025 | Moria | Heart | Male | Russia |
四、从表中删除 DEFAULT 约束
带有 ALTER TABLE 语句的 ALTER COLUMN 关键字允许数据库用户从表的列中删除 DEFAULT 约束。
以下 ALTER 语法用于从 SQL 表中删除 DEFAULT 约束:
ALTER TABLE Table_Name ALTER COLUMN Column_Name DROP DEFAULT;
以下查询从 Doctor_Info 表的 Doctor_Country 列中删除默认值俄罗斯:
ALTER TABLE Doctor_Info ALTER COLUMN Doctor_Country DROP DEFAULT;
要检查上述 ALTER 查询的结果,您必须键入以下 DESC 命令,该命令描述了 Doctor_Info 表的结构:
DESC Doctor_Info;
输出结果为:
Field | Type | NULL | Key | Default | Extra |
---|---|---|---|---|---|
Doctor_ID | INT | NO | - | NULL | - |
Doctor_Name | INT | NO | - | NULL | - |
Doctor_Specialist | Varchar(20) | NO | - | Heart | - |
Doctor_Gender | Varchar(20) | NO | - | Male | - |
Doctor_Country | INT | Yes | - | NULL | - |
从上面的 Doctor_Info 表中我们可以看到,Doctor Country 字段的 DEFAULT 列的值为 NULL,这表明成功地从 Doctor_Country 列中删除了 DEFAULT 值。
五、将 DEFAULT 约束添加到现有表
数据库用户可以通过在 SQL ALTER TABLE 语句中使用 ADD 关键字轻松地将 DEFAULT 值添加到现有表的列中。
SQL 中使用以下语法在现有表中添加 DEFAULT 约束:
ALTER TABLE Table_Name ADD CONSTRAINT Constraint_Name DEFAULT Value FOR Column_Name;
以下查询将作为 INDIA 的 DEFAULT 值添加到 Doctor_Info 表的 Doctor_Country 列:
ALTER TABLE Doctor_Info ADD CONSTRAINT add_India_default DEFAULT INDIA FOR Doctor_Country;
要检查上述 ALTER 查询的结果,您必须键入以下 DESC 命令,该命令描述了 Doctor_Info 表的结构:
DESC Doctor_Info;
输出结果为:
Field | Type | NULL | Key | Default | Extra |
---|---|---|---|---|---|
Doctor_ID | INT | NO | - | NULL | - |
Doctor_Name | INT | NO | - | NULL | - |
Doctor_Specialist | Varchar(20) | NO | - | Heart | - |
Doctor_Gender | Varchar(20) | NO | - | Male | - |
Doctor_Country | INT | N0 | - | INDIA | - |
热门文章
优秀文章