首頁  >  文章  >  資料庫  >  mysql 設定預設值

mysql 設定預設值

王林
王林原創
2023-05-23 09:09:379578瀏覽

MySQL 是一個廣泛被使用的關係型資料庫管理系統。在 MySQL 中,我們可以為表中的列設定預設值,以確保在插入新行時,如果使用者不指定該列的值,則該列將自動填入預設值。在本文中,我們將討論如何在 MySQL 中設定預設值。

  1. 什麼是預設值?

預設值是當向表中插入新行時,在該列中自動填入的值。當使用者不給該列指定值時,系統會自動使用預設值來填入該列。如果使用者提供了一個值,則該值將用作該列的值。

  1. 如何設定預設值?

在 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。

  1. 如何修改預設值?

如果我們想要更改列的預設值,可以使用 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 子句中指定了預設日期和時間,系統將在插入新行時自動使用該日期和時間。

  1. 如何刪除預設值?

如果我們想要刪除列的預設值,可以使用 ALTER TABLE 語句。例如,讓我們刪除列 created_at 的預設值:

ALTER TABLE users ALTER COLUMN created_at DROP DEFAULT;

在上述語句中,我們使用 ALTER COLUMN 命令將 created_at 列的預設值刪除。

  1. 如何查看預設值?

要查看列的預設值,可以使用 DESCRIBE 或 SHOW CREATE TABLE 語句。例如,以下是使用DESCRIBE 語句查看users 表的詳細資訊:

DESCRIBE users;

輸出如下:

# #idint(11)NOPRI#NULLauto_incrementusernamevarchar(50)NONULLemailvarchar(50)NONULL created_attimestampYES
Field Type Null Key Default Extra

NULL

is_active tinyint(1)
YES
1


在上述表中,我們可以看到created_at 欄位的預設值為NULL,這表示該欄位沒有預設值。我們也可以查看users 表的完整建立語句:SHOW CREATE TABLE users;
輸出如下:
CREATE TABLE

users

(

    id
  1. 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 語句來變更或刪除預設值。透過查看表格的詳細資訊可以了解列的預設值。使用預設值可以減少編寫插入語句的工作量,並確保在當使用者沒有提供值時,系統將使用預先定義值。 ###

以上是mysql 設定預設值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn