SQL研习录(23)——默认值约束(DEFAULT)
版权声明
- 本文原创作者:清风不渡
- 博客地址:https://blog.csdn.net/WXKKang
一、DEFAULT约束
DEFAULT 约束用于规定某一列的默认值,如果在添加新记录的时候没有定义这一列的值,那么将会自动将默认值添加到新记录中
1、基本语法
创建表(CREATE TABLE)时的默认值(DEFAULT)约束
在My SQL / SQL Server / Oracle / MS Access数据库中,如果需要在创建表时定义某一列的默认值,则可使用以下语法:
CREATE TABLE table_name(
column_name1 data_type (size) NOT NULL,
column_name2 data_type (size) NOT NULL,
column_name3 data_type (size) DEFAULT 'XXX',
...
)
我们还可以通过类似GETDATE()这样的函数,使用DEFAULT约束插入系统值,语法如下:
CREATE TABLE table_name(
column_name1 data_type (size) NOT NULL,
column_name2 data_type (size) NOT NULL,
column_name3 data_type (size),
column_name4 date DEFAULT GETDATE()
...
)
修改表(ALTER TABLE)时的默认值(DEFAULT)约束
(1)在MySQL数据库中,当表已被创建时,如需在某一列创建 DEFAULT 约束则可使用下面的语法:
ALTER TABLE table_name
ALTER column_name SET DEFAULT 'xxx'
(2)在SQL Server / MS Access数据库中,当表已被创建时,如需在某一列创建 DEFAULT 约束则可使用下面的语法:
ALTER TABLE table_name
ADD CONSTRAINT DF_tableName_columnName DEFAULT('xxx') FOR column_name
注意: 约束名称的格式一般为:约束类型简称_表名_列名
(3)在Oracle数据库中,当表已被创建时,如需在某一列创建 DEFAULT 约束则可使用下面的语法:
ALTER TABLE table_name
MODIFY column_name DEFAULT 'xxx'
撤销DEFAULT约束
(1)在MySQL数据库中,如需撤销 DEFAULT 约束则可使用下面的语法:
ALTER TABLE table_name
ALTER column_name DROP DEFAULT
(2)在SQL Server / Oracle / MS Access数据库中,如需撤销 DEFAULT 约束则可使用下面的语法:
ALTER TABLE table_name
ALTER COLUMN column_name DROP DEFAULT