MySQL||默认值约束(Default)

默认值

“默认值(Default)”的完整称呼是“默认值约束(Default Constraint)”。MySQL 默认值约束用来指定某列的默认值。

例如女同学较多,性别就可以默认为“女”,如果插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为“女”。

设置默认值

使用 DEFAULT 关键字设置默认值约束,具体的语法规则如下:

<字段名> <数据类型> DEFAULT <默认值>;

示例:创建数据表 student3,指定性别位置默认为 女,输入的 SQL 语句和运行结果如下所示

CREATE TABLE student3(
    CODE INT PRIMARY KEY,
	NAME VARCHAR (50) NOT NULL UNIQUE,
	sex CHAR (2) DEFAULT '女',
	-- 设置默认值,如果添加记录时没有给值,则数据库保存默认值
	phone CHAR (18),
	age INT CHECK (age BETWEEN 17 AND 22),
	enter_time date
);
DESC student3;

以上语句执行成功之后,表student3 上的字段sex拥有了一个默认值 ,新插入的记录如果没有指定时,则默认都为 女。

修改表中的默认值

就拿上面的例子来说,现在到了另一个部门,里面男生狠多,这时就要修改一下默认值了,操作如下:

ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <数据类型> DEFAULT <默认值>;

示例:

ALTER TABLE student3
CHANGE COLUMN sex
sex CHAR(2) DEFAULT '男';
DESC student3;

 

删除默认值约束

删除,就是把默认值设为空就好了

修改表时删除默认值约束的语法规则如下:

ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> DEFAULT NULL;

示例:

ALTER TABLE student3
CHANGE COLUMN sex
sex CHAR(2) DEFAULT NULL;
DESC student3;

 

 

 

 

 

  • 15
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
sql添加表列字段描述添加默认值删除字段 //删除表 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[JHCRM_Report_ss]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [JHCRM_Report_ss] //添加表 if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Table1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) create table [Table1] ([col1] int,[col2] int) //添加字段 if not exists( select * from syscolumns where syscolumns.[name]='FNewObjectEnd' and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[jsc_financial]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE jsc_financial ADD FNewObjectEnd int--NULL --添加先用项目结项数 go EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'先用项目结项数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'jsc_financial', @level2type=N'COLUMN',@level2name=N'FNewObjectEnd' if not exists( select * from syscolumns where syscolumns.[name]='Record_Money' and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[JHCRM_Resource_Record_Main]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE JHCRM_Resource_Record_Main ADD Record_Money numeric(12, 2)--NULL --资源费用 go EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'资源费用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JHCRM_Resource_Record_Main', @level2type=N'COLUMN',@level2name=N'Record_Money' //删除字段 if not exists( select * from syscolumns where syscolumns.[name]=table_Name and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[tableName]')" and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE table_Name DROP COLUMN tableName

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值