本文主要介绍如何设置MySQL字段的默认值,帮助您更好地理解和学习如何使用MySQL。感兴趣的朋友可以了解一下。
目录
前言:1。与默认值2相关的操作。几个使用建议的总结:
前言:
在MySQL中,我们可以为表字段设置默认值。向表中插入新记录时,如果没有为字段赋值,系统将自动为该字段插入默认值。关于默认值的一些知识还是需要了解的。在本文中,让我们了解字段的默认值。
1.默认值相关操作我们可以使用DEFAULT关键字来定义默认值,默认值通常用在非空列中,防止数据表在输入数据时出错。
创建表时,我们可以为列设置默认值。具体语法格式如下:
#格式模板
字段名称数据类型默认值默认值默认值
#示例
mysqlCREATETABLE`test_tb `(
-`id`intNOTNULLAUTO_INCREMENT,
-` col 1 ` varchar(50)notnullDEFAULT a ,
-`col2`intnotnullDEFAULT1,
-PRIMARYKEY(`id `)
-)ENGINE=InnoDBDEFAULTCHARSET=utf8;
QueryOK,0 rows affected(0.06秒)
mysqldesctest _ tb
- - - - - -
| Field | Type | Null | Key | Default | Extra |
- - - - - -
| id | int(11)| NO | PRI | NULL | auto _ increment |
|col1|varchar(50)|NO||a||
|col2|int(11)|NO||1||
- - - - - -
3秒钟(0.00秒)
mysqlinsertintotest_tb(col1)值(“FDG”);
QueryOK,1受影响(0.01秒)
mysqlinsertintotest_tb(col2)值(2);
QueryOK,1受影响(0.03秒)
mysqlselect * fromtest _ tb
- - -
| id |列1 |列2|
- - -
|1|fdg|1|
|2|a|2|
- - -
2 rows inset(0.00秒)
从上面的实验可以看出,当字段设置为默认值时,在插入数据时,如果没有指定字段的值,将被视为默认值。
还有其他关于默认值的操作,比如修改默认值,添加默认值,删除默认值等。我们来看看这些应该如何操作。
#添加新字段并设置默认值
alter table ` test _ TB ` add column ` col 3 ` varchar(20)notnullDEFAULT ABC ;
#修改原始默认值
alter table ` test _ TB ` alter column ` col 3 ` set default 3a;
alter table ` test _ TB ` change column ` col 3 ` col 3 ` varchar(20)notnullDEFAULT 3b ;
alter table ` test _ TB ` modify column ` col 3 ` varchar(20)notnullDEFAULT 3c ;
#删除原始默认值
alter table ` test _ TB ` alter column ` col 3 ` drop default;
#添加默认值(类似于修改)
alter table ` test _ TB ` alter column ` col 3 ` set default 3aa;
2.几点使用建议其实不仅非空字段可以设置默认值,普通字段也可以设置默认值,但是一般推荐字段设置为非空。
mysqaltertable ` test _ TB ` add column ` col 4 ` varchar(20)默认 4a ;
QueryOK,0 rows affected(0.12秒)
记录:0副本:0警告:0
mysqldesctest _ tb
- - - - - -
| Field | Type | Null | Key | Default | Extra |
- - - - - -
| id | int(11)| NO | PRI | NULL | auto _ increment |
|col1|varchar(50)|NO||a||
|col2|int(11)|NO||1||
|col3|varchar(20)|NO||3aa||
| col 4 | varchar(20)|是||4a||
- - - - - -
5行设置(0.00秒)
在项目开发中,经常会用到一些默认字段,比如默认当前时间,默认未删除,默认状态值为1。下表显示了一些常用的默认字段。
CREATETABLE`default_tb `(
` id ` intussignednotnullauto _ increment注释自增量主键,
.
` country varchar(50)not null默认中国,
` col _ status ` tinyintnotnulldefault 1注释 1:用于什么2:用于什么.,
` col _ time ` datetimenotnulldefault 2020-10-0100:00:00 注释什么时间,
` is _ deleted ` tinyintnotnulldefault 0注释 0:未删除1:已删除,
` create _ time ` timestampnotnulldefaultcurrent _ timestampcomment 创建时间,
` update _ time ` timestampnotnulldefaultcurrent _ timestampupdatecurrent _ timestampcomment 修改时间,
主键(` id `)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
这里还需要提醒的是,默认值必须与字段类型相匹配。例如,字段表示状态值,可以取值1、2和3.那么建议这个字段使用tinyint类型,而不是char或varchar类型。
笔者根据个人经验,总结了一些关于默认值使用的建议:
为非空字段设置默认值可以防止插入错误。
默认值也可以在可空字段中设置。
一些状态值字段最好给出注释,以指示某个值代表什么状态。
默认值应该与字段类型相匹配。
总结:
本文主要讲的是关于MySQL字段默认值的知识,比较简单易懂。希望你会有所收获。
以上是如何设置MySQL字段默认值的细节。关于MySQL字段默认值的更多信息,请关注我们的其他相关文章!