在本教程中,我们将学习如何使用SQL DEFAULT约束向列中插入默认值。
当在表中插入新行而不指定列的值时,DEFAULT默认约束会将默认值插入到表的列中。
有两种方法为列创建默认约束:
您可以在CREATE TABLE语句中为列指定一个默认约束,如下面的语句所示:
CREATE
TABLE
books (
book_id
INT
NOT
NULL
PRIMARY
KEY
AUTO_INCREMENT,
title
varchar
(255)
,
pubdate
date
isbn
(13)
DEFAULT
'8-381737-083'
author_id
)
books表中的isbn列以“8-381737-083”作为默认值。如果在books表中插入新行而不指定ISBN列的值,数据库引擎将把值8-381737-083插入ISBN列。
在books表中添加一本新书的INSERT语句如下:
INSERT
INTO
books(title,pubdate,author_id)
VALUES
(
'SQL 教程'
'2010-01-01'
,1);
我们可以使用SELECT语句查询books表,查看isbn列中插入了什么值:
SELECT
*
FROM
books;
ISBN列存储的是表定义时指定的默认值“8-381737-083”。
默认约束不仅接受字面量值,还接受函数返回的值。例如,我们使用以下语句将今天的日期指定为pubdate列的默认值:
ALTER
books
ADD
CONSTRAINT
df_pubdate
GETDATE()
FOR
要删除现有的默认约束,你可以使用如下的ALTER TABLE语句:
table
COLUMN
column
DROP
;
例如,要删除books表中title列的默认约束,可以使用以下语句:
原文链接:https://codingdict.com/