溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql中給字段設(shè)置默認(rèn)值的方法

發(fā)布時間:2020-10-10 15:13:20 來源:億速云 閱讀:871 作者:小新 欄目:MySQL數(shù)據(jù)庫

mysql中給字段設(shè)置默認(rèn)值的方法?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

方法:1、創(chuàng)建表時用“CREATE TABLE 表名(字段名 數(shù)據(jù)類型 DEFAULT 默認(rèn)值;)”語句設(shè)置;2、修改表時用“ALTER TABLE 表名 CHANGE COLUMN 字段名 數(shù)據(jù)類型 DEFAULT 默認(rèn)值;“語句設(shè)置。

默認(rèn)值(Default)的完整稱呼是“默認(rèn)值約束(Default Constraint)”,用來指定某字段的默認(rèn)值。在表中插入一條新記錄時,如果沒有為某個字段賦值,系統(tǒng)就會自動為這個字段插入默認(rèn)值。

在創(chuàng)建表時設(shè)置默認(rèn)值約束

創(chuàng)建表時可以使用 DEFAULT 關(guān)鍵字設(shè)置默認(rèn)值約束,具體的語法格式如下:

<字段名> <數(shù)據(jù)類型> DEFAULT <默認(rèn)值>;

其中,“默認(rèn)值”為該字段設(shè)置的默認(rèn)值,如果是字符類型的,要用單引號括起來。

例 1

創(chuàng)建數(shù)據(jù)表 tb_dept3,指定部門位置默認(rèn)為 Beijing,SQL 語句和運(yùn)行結(jié)果如下所示。

mysql> CREATE TABLE tb_dept3
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22),
    -> location VARCHAR(50) DEFAULT 'Beijing'
    -> );
Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_dept3;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| name     | varchar(22) | YES  |     | NULL    |       |
| location | varchar(50) | YES  |     | Beijing |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.06 sec)

以上語句執(zhí)行成功之后,表 tb_dept3 上的字段 location 擁有了一個默認(rèn)值 Beijing,新插入的記錄如果沒有指定部門位置,則默認(rèn)都為 Beijing。

注意:在創(chuàng)建表時為列添加默認(rèn)值,可以一次為多個列添加默認(rèn)值,需要注意不同列的數(shù)據(jù)類型。

在修改表時添加默認(rèn)值約束

修改表時添加默認(rèn)值約束的語法格式如下:

ALTER TABLE <數(shù)據(jù)表名>
CHANGE COLUMN <字段名> <數(shù)據(jù)類型> DEFAULT <默認(rèn)值>;

例 2

修改數(shù)據(jù)表 tb_dept3,將部門位置的默認(rèn)值修改為 Shanghai,SQL 語句和運(yùn)行結(jié)果如下所示。

mysql> ALTER TABLE tb_dept3
    -> CHANGE COLUMN location
    -> location VARCHAR(50) DEFAULT 'Shanghai';
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_dept3;
+----------+-------------+------+-----+----------+-------+
| Field    | Type        | Null | Key | Default  | Extra |
+----------+-------------+------+-----+----------+-------+
| id       | int(11)     | NO   | PRI | NULL     |       |
| name     | varchar(22) | YES  |     | NULL     |       |
| location | varchar(50) | YES  |     | Shanghai |       |
+----------+-------------+------+-----+----------+-------+
3 rows in set (0.00 sec)

刪除默認(rèn)值約束

當(dāng)一個表中的列不需要設(shè)置默認(rèn)值時,就需要從表中將其刪除。

修改表時刪除默認(rèn)值約束的語法格式如下:

ALTER TABLE <數(shù)據(jù)表名>
CHANGE COLUMN <字段名> <字段名> <數(shù)據(jù)類型> DEFAULT NULL;

例 3

修改數(shù)據(jù)表 tb_dept3,將部門位置的默認(rèn)值約束刪除,SQL 語句和運(yùn)行結(jié)果如下所示。

mysql> ALTER TABLE tb_dept3
    -> CHANGE COLUMN location
    -> location VARCHAR(50) DEFAULT NULL;
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_dept3;
+----------+-------------+------+-----+----------+-------+
| Field    | Type        | Null | Key | Default  | Extra |
+----------+-------------+------+-----+----------+-------+
| id       | int(11)     | NO   | PRI | NULL     |       |
| name     | varchar(22) | YES  |     | NULL     |       |
| location | varchar(50) | YES  |     | NULL     |       |
+----------+-------------+------+-----+----------+-------+
3 rows in set (0.00 sec)

感謝各位的閱讀!看完上述內(nèi)容,你們對mysql中給字段設(shè)置默認(rèn)值的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI