MySQL是一種流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),被廣泛應(yīng)用于Web應(yīng)用程序中。當(dāng)我們創(chuàng)建表時(shí),經(jīng)常需要設(shè)置表中的字段默認(rèn)值。在MySQL中,我們可以使用DEFAULT關(guān)鍵字來(lái)為字段設(shè)置默認(rèn)值。
假設(shè)我們有一個(gè)名為student的表,其中包含三個(gè)字段:id、name和age。默認(rèn)情況下,id字段將自動(dòng)遞增,我們不需要為其設(shè)置默認(rèn)值。但是對(duì)于name和age字段,我們可能希望設(shè)置一個(gè)默認(rèn)值。
CREATE TABLE student ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL DEFAULT 'Unknown', age INT NOT NULL DEFAULT 18 );
在上面的例子中,我們?yōu)閚ame字段設(shè)置了默認(rèn)值為'Unknown',為age字段設(shè)置了默認(rèn)值為18。這意味著如果我們?cè)贗NSERT語(yǔ)句中沒(méi)有為這些字段提供值,MySQL將自動(dòng)使用默認(rèn)值。
需要注意的是,在MySQL中,我們也可以使用特殊值NULL來(lái)為字段設(shè)置默認(rèn)值。當(dāng)我們使用NULL作為默認(rèn)值時(shí),表示字段可以為空。
CREATE TABLE student ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL DEFAULT NULL, age INT NOT NULL DEFAULT 18 );
在上面的例子中,我們?yōu)閚ame字段設(shè)置了默認(rèn)值為NULL,這意味著如果我們?cè)贗NSERT語(yǔ)句中沒(méi)有為name字段提供值,那么該字段將為空。
總結(jié)來(lái)說(shuō),MySQL中通過(guò)使用DEFAULT關(guān)鍵字為表中的字段設(shè)置默認(rèn)值。我們可以設(shè)置任何值,包括字符串、數(shù)字和NULL。在INSERT語(yǔ)句中如果我們沒(méi)有為這些字段提供值,則MySQL將自動(dòng)使用默認(rèn)值。