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;
輸出如下:
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
int(11) | NO | PRI | #NULL | auto_increment | |
varchar(50) | NO | NULL | |||
varchar(50) | NO | NULL | |||
created_at | timestamp | YES |
NULL
is_active
tinyint(1)YES
1
在上述表中,我們可以看到created_at 欄位的預設值為NULL,這表示該欄位沒有預設值。我們也可以查看users 表的完整建立語句:SHOW CREATE TABLE users;
輸出如下:
CREATE TABLE
(
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中文網其他相關文章!