mysql怎么弄默认值
时间 : 2023-03-21 17:47:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

MySQL是一种关系型数据库管理系统,提供了许多特性和选项,其中之一就是设置列的默认值。

MySQL中列的默认值是在创建表时设置的,可以设置为一个具体的值、一个表达式或一个系统函数。当插入新记录时,如果该列没有被指定值,就将使用默认值。如果在更新记录时没有包含该列的更新值,也会使用默认值。

下面是设置列默认值的几种方法:

1. 指定一个常量作为默认值:

CREATE TABLE my_table (

id INT PRIMARY KEY,

name VARCHAR(50),

age INT DEFAULT 18

);

上面的语句创建了一个包含三个列的表,其中age列的默认值为18。如果在插入记录时没有为age列指定值,将使用默认值18。

2. 指定一个表达式作为默认值:

CREATE TABLE my_table (

id INT PRIMARY KEY,

name VARCHAR(50),

create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

上面的语句创建了一个包含三个列的表,其中create_time列的默认值为当前时间。如果在插入记录时没有为create_time列指定值,将使用默认值。

3. 指定一个系统函数作为默认值:

CREATE TABLE my_table (

id INT PRIMARY KEY,

name VARCHAR(50),

status ENUM('on', 'off') DEFAULT 'off'

);

上面的语句创建了一个包含三个列的表,其中status列的默认值为'off'。如果在插入记录时没有为status列指定值,将使用默认值。

可以看到,设置默认值非常方便。它可以保证您的数据表在任何情况下都能具有一致的数据。

MySQL中可以为表的列设置默认值,当插入一条数据时,若该列没有被赋值,则会自动赋上默认值。下面介绍几种设置默认值的方法。

1.通过CREATE TABLE语句设置默认值

在创建表时,可以在列的数据类型后面使用DEFAULT关键字来设置列的默认值。如:

CREATE TABLE my_table(

id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(20) NOT NULL DEFAULT 'Tom',

age INT(3) NOT NULL DEFAULT 18,

sex ENUM('male','female') NOT NULL DEFAULT 'male'

);

上面的示例中,name列的默认值为'Tom',age列的默认值为18,sex列的默认值为'male'。

2.通过ALTER TABLE语句添加默认值

如果已经创建了表,需要为列添加默认值,则可以使用ALTER TABLE语句。如:

ALTER TABLE my_table

ALTER COLUMN name SET DEFAULT 'Tom',

ALTER COLUMN age SET DEFAULT 18,

ALTER COLUMN sex SET DEFAULT 'male';

上面的示例中,分别为name、age、sex三列设置了默认值。

3.删除默认值

如果需要将列的默认值删除,则可以使用ALTER TABLE语句,将默认值设置为NULL。如:

ALTER TABLE my_table

ALTER COLUMN name DROP DEFAULT,

ALTER COLUMN age DROP DEFAULT,

ALTER COLUMN sex DROP DEFAULT;

上面的示例中,删除了name、age、sex三列的默认值。

总的来说,设置默认值可以提高数据的完整性和可靠性,减少错误和漏洞,并且简化了数据插入的过程。当然,在不同的业务场景下,需要根据实际需求来设置默认值。