MySQL中表的默认值设定(mysql创建表默认值)

MySQL中表的默认值设定是指在创建表时为某个列设置的默认值,在插入行时,如果没有显式地给该列提供值,数据库系统就会将该列的值设置为它的默认值。在MySQL中,我们可以通过DEFAULT来设置一个表列的默认值,其语法格式如下:

CREATE TABLE table_name
(
column1 data_type DEFAULT value,
column2 data_type DEFAULT value,
column3 data_type DEFAULT value,
...
);

其中,DEFAULT后跟着可以是字符串、数值或日期常量,也可以是函数表达式,或者另一列的值。如果DEFAULT后面什么也不跟,那么MySQL将忽略掉这个设置。

MySQL中可以使用以下几种方法来设置表列的默认值:

(1)NULL默认值:设置为NULL。默认情况下,每个列都有一个NULL默认值,这个默认值的意义是列的某个值并不存在,也就是说不给它赋值,它的值就是null。使用NULL默认值不需要在建表时显式指出,MySQL会自动设置为NULL,但也可以使用DEFAULT显式指明NULL默认值,例如:

CREATE TABLE t1 (
a INT DEFAULT NULL,
b INT DEFAULT 0
);

(2)非空默认值:设置为某一值,例如0、1、’abc’等等,这个值是加上任何新行时都会使用的,如果没有为其提供任何值。MySQL中我们可以在建表时使用DEFAULT子句来设置它的非空默认值,例如:

CREATE TABLE t1 (
a INT DEFAULT 0,
b INT DEFAULT 1
);

(3)使用函数表达式:也可以使用函数表达式来设置某一列的默认值,该函数表达式会在添加新行时,自动设置该列的值。MySQL中我们可以使用DEFAULT子句来设置表列的函数表达式,例如:

CREATE TABLE t1 (
a INT DEFAULT NOW(),
b INT DEFAULT NOW() + 1
);

(4)默认别名:MySQL还支持在DEFAULT子句中使用另一列的值作为一个列的默认值,也就是所谓的默认别名,当插入新行时,这个列的值将是另一列相同行中的值。这个默认别名应该由DEFAULT子句中的关键字_后跟一个列名组成。例如:

CREATE TABLE t1 (
a INT DEFAULT (b + 1),
b INT DEFAULT 1
);

以上就是MySQL中表的默认值设定的全部内容,MySQL提供了一系列非常强大的默认值设置方式,给我们提供了非常有效的数据操作方式,可以大大简化表的定义,提高开发效率。


数据运维技术 » MySQL中表的默认值设定(mysql创建表默认值)