mysql 设置默认值

网友投稿 1205 2023-07-10

mysql 设置默认值

mysql 设置默认值

MySQL 是一个广泛被使用的关系型数据库管理系统。在 MySQL 中,我们可以为表中的列设置默认值,以确保在插入新行时,如果用户不指定该列的值,则该列将自动填充为默认值。在本文中,我们将讨论如何在 MySQL 中设置默认值。

什么是默认值?

默认值是当向表中插入新行时,在该列中自动填充的值。当用户不给该列指定值时,系统会自动使用默认值来填充该列。如果用户提供了一个值,则该值将被用作该列的值。

如何设置默认值?

在 MySQL 中,我们可以使用 DEFAULT 关键字来设置默认值。该关键字指示系统在插入新行时使用默认值。下面是一个示例:

首先,让我们创建一个简单的表,包含三个列:id、username 和 email:

CREATE TABLE users( id INT NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, PRIMARY KEY (id));

接下来,我们向该表中添加一个带有默认值的新列 created_at,该列将包含每个用户的创建日期和时间:

ALTER TABLE users ADD created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

在上述语句中,我们使用了 ADD 关键字来向表中添加一个新列。我们使用 DEFAULT CURRENT_TIMESTAMP 子句来设置该列的默认值为当前时间戳,即在插入新行时,系统将自动将 created_at 列设置为当前时间。

我们还可以使用常量来设置默认值。例如,如果我们希望设置一个布尔值列,我们可以使用以下语句:

ALTER TABLE users ADD is_active BOOLEAN DEFAULT TRUE;

在上述语句中,我们使用 DEFAULT 子句来设置一个布尔值列的默认值为 TRUE。

如何修改默认值?

如果我们想要更改列的默认值,可以使用 ALTER TABLE 语句。例如,让我们将 created_at 列的默认值更改为 2020 年 1 月 1 日:

ALTER TABLE users MODIFY created_at TIMESTAMP DEFAULT '2020-01-01 00:00:00';

在上述语句中,我们使用 MODIFY 关键字来更改列 created_at 的数据类型和默认值。我们在 DEFAULT 子句中指定了默认日期和时间,系统将在插入新行时自动使用该日期和时间。

如何删除默认值?

如果我们想要删除列的默认值,可以使用 ALTER TABLE 语句。例如,让我们删除列 created_at 的默认值:

ALTER TABLE users ALTER COLUMN created_at DROP DEFAULT;

在上述语句中,我们使用 ALTER COLUMN 命令将 created_at 列的默认值删除。

如何查看默认值?

要查看列的默认值,可以使用 DESCRIBE 或 SHOW CREATE TABLE 语句。例如,以下是使用 DESCRIBE 语句查看 users 表的详细信息:

DESCRIBE users;

输出如下:

FieldTypeNullKeyDefaultExtra
idint(11)NOPRINULLauto_increment
usernamevarchar(50)NONULL
emailvarchar(50)NONULL
created_attimestampYESNULL
is_activetinyint(1)YES1

在上述表中,我们可以看到 created_at 列的默认值为 NULL,这表明该列没有默认值。我们还可以查看 users 表的完整创建语句:

SHOW CREATE TABLE users;

输出如下:

CREATE TABLE users ( id int(11) NOT NULL AUTO_INCREMENT, username varchar(50) NOT NULL, email varchar(50) NOT NULL, created_at timestamp NULL DEFAULT NULL, is_active tinyint(1) DEFAULT '1', PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

在上面的表中,我们可以看到 created_at 列的默认值为 NULL。

总结

在 MySQL 中设置默认值是一种有用的技术。可以使用 DEFAULT 关键字来设置默认值,并可以使用 ALTER TABLE 语句来更改或删除默认值。通过查看表的详细信息可以了解列的默认值。使用默认值可以减少编写插入语句的工作量,并确保在当用户没有提供值时,系统将使用预定义值。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql 语句 存储过程
下一篇:mysql命令行安装
相关文章