MySQL默認值(DEFAULT)的使用
默認值(Default)的完整稱呼是“默認值約束(Default Constraint)”,用來指定某列的默認值。在表中插入一條新記錄時,如果沒有為某個字段賦值,系統(tǒng)就會自動為這個字段插入默認值。
例如,員工信息表中,部門位置在北京的較多,那么部門位置就可以默認為“北京”,系統(tǒng)就會自動為這個字段賦值為“北京”。
默認值約束通常用在已經設置了非空約束的列,這樣能夠防止數據表在錄入數據時出現錯誤。
在創(chuàng)建表時設置默認值約束
創(chuàng)建表時可以使用 DEFAULT 關鍵字設置默認值約束,具體的語法格式如下:
<字段名> <數據類型> DEFAULT <默認值>;
其中,“默認值”為該字段設置的默認值,如果是字符類型的,要用單引號括起來。
例 1創(chuàng)建數據表 tb_dept3,指定部門位置默認為 Beijing,SQL 語句和運行結果如下所示。
mysql> CREATE TABLE tb_dept3 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22), -> location VARCHAR(50) DEFAULT 'Beijing' -> );
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 | | +----------+-------------+------+-----+---------+-------+
以上語句執(zhí)行成功之后,表 tb_dept3 上的字段 location 擁有了一個默認值 Beijing,新插入的記錄如果沒有指定部門位置,則默認都為 Beijing。
注意:在創(chuàng)建表時為列添加默認值,可以一次為多個列添加默認值,需要注意不同列的數據類型。
在修改表時添加默認值約束
修改表時添加默認值約束的語法格式如下:
ALTER TABLE <數據表名> CHANGE COLUMN <字段名> <字段名> <數據類型> DEFAULT <默認值>;
例 2
修改數據表 tb_dept3,將部門位置的默認值修改為 Shanghai,SQL 語句和運行結果如下所示。
mysql> ALTER TABLE tb_dept3 -> CHANGE COLUMN location -> location VARCHAR(50) DEFAULT 'Shanghai';
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 | | +----------+-------------+------+-----+----------+-------+
刪除默認值約束
當一個表中的列不需要設置默認值時,就需要從表中將其刪除。
修改表時刪除默認值約束的語法格式如下:
ALTER TABLE <數據表名> CHANGE COLUMN <字段名> <字段名> <數據類型> DEFAULT NULL;
例 3修改數據表 tb_dept3,將部門位置的默認值約束刪除,SQL 語句和運行結果如下所示。
mysql> ALTER TABLE tb_dept3 -> CHANGE COLUMN location -> location VARCHAR(50) DEFAULT NULL;
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)
到此這篇關于MySQL默認值(DEFAULT)的使用的文章就介紹到這了,更多相關MySQL默認值DEFAULT內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Mysql報錯too many connections的原因及解決方案
這篇文章主要給大家介紹了關于Mysql報錯too many connections原因及解決方案,文中通過實例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下2023-09-09