SQL设置字段默认值,mysql中默认值怎么写

SQL设置字段默认值,mysql中默认值怎么写,MySQL 字段默认值该如何设置

本文主要介绍如何设置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字段默认值的更多信息,请关注我们的其他相关文章!

SQL设置字段默认值,mysql中默认值怎么写