MySQL 如何在创建表时定义列的默认值?

MySQL 如何在创建表时定义列的默认值?

在MySQL中,当我们创建一个表时,可以为该表的列明确指定默认值。如果插入记录时没有为该列指定一个值,则该列将被赋予默认值。在这篇文章中,我们将探讨如何为MySQL表中的列指定默认值。

阅读更多:MySQL 教程

使用DEFAULT关键字

MySQL提供了一个DEFAULT关键字,它可以用来指定一个列的默认值。下面是一个示例:

CREATE TABLE Employees (
EmployeeID INT(11) PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Age INT(11) DEFAULT 30
);
Mysql

在这个示例中,我们创建了一个名为Employees的表。它有三个列:EmployeeID、Name和Age。EmployeeID列是主键,Name列是不可为空的,而Age列则具有默认值30。

当我们向Employees表中插入一条记录但没有提供Age列时,MySQL就会自动将Age列的值设置为默认值30。

INSERT INTO Employees (EmployeeID, Name)
VALUES (1, '张三');
Mysql

这条INSERT语句将添加一条记录,其中Age列将被设置为默认值30。EmployeeID列将被设置为1,Name列将被设置为“张三”。

使用INSERT语句显式指定默认值

有时候,我们可能希望在插入记录时显式地为一个列指定默认值,而不是使用表定义中明确指定的默认值。在这种情况下,我们可以使用INSERT语句中的DEFAULT关键字。

下面是一个示例:

INSERT INTO Employees (EmployeeID, Name, Age)
VALUES (2, '李四', DEFAULT);
Mysql

这个INSERT语句将添加一条记录,其中EmployeeID列将被设置为2,Name列将被设置为“李四”,而Age列将被设置为默认值30。

使用函数作为默认值

在MySQL中,函数也可以用作默认值。下面是一个示例:

CREATE TABLE Employees (
EmployeeID INT(11) PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
DateOfBirth DATE DEFAULT (NOW())
);
Mysql

在这个示例中,我们使用了MySQL内置的NOW()函数来设置DateOfBirth列的默认值,该函数将返回当前日期和时间。如果插入记录时没有为DateOfBirth列指定任何值,则DateOfBirth列将被设置为当前日期和时间。

修改列的默认值

如果需要修改MySQL表中某个列的默认值,则可以使用ALTER TABLE语句。下面是一个示例:

ALTER TABLE Employees
ALTER COLUMN Age SET DEFAULT 25;
Mysql

在这个示例中,我们将Employees表的Age列的默认值从30修改为25。

删除列的默认值

如果需要从MySQL表中删除某个列的默认值,则可以使用ALTER TABLE语句。下面是一个示例:

ALTER TABLE Employees
ALTER COLUMN Age DROP DEFAULT;
Mysql

在这个示例中,我们从Employees表的Age列中删除了默认值。如果插入记录时没有为Age列指定值,则Age列将为NULL。

总结

MySQL表中的列可以使用DEFAULT关键字来指定默认值。如果插入记录时没有为该列指定一个值,则该列将被赋予默认值。除了使用表定义中的默认值外,我们还可以显式地为列指定默认值,或使用函数作为默认值。要修改或删除列的默认值,我们可以使用ALTER TABLE语句。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册