首頁  >  文章  >  資料庫  >  mysql中怎麼給字段設定預設值?

mysql中怎麼給字段設定預設值?

青灯夜游
青灯夜游原創
2020-10-09 11:13:0143393瀏覽

方法:1、建立表格時用「CREATE TABLE 表名(字段名資料類型DEFAULT 預設值;)」語句設定;2、修改表時以「ALTER TABLE 表格名稱CHANGE COLUMN 欄位名稱資料類型DEFAULT 預設值;”語句設定。

mysql中怎麼給字段設定預設值?

(推薦教學:mysql影片教學

預設值(Default)的完整稱呼是「預設值約束(Default Constraint)”,用來指定某欄位的預設值。在表格中插入一筆新記錄時,如果沒有為某個欄位賦值,系統就會自動為這個欄位插入預設值。

在建立表格時設定預設值約束

#建立表格時,在CREATE TABLE語句中使用DEFAULT 關鍵字來設定預設值約束,具體的語法格式如下:

<字段名> <数据类型> DEFAULT <默认值>;

其中,「預設值」為該欄位設定的預設值,如果是字元類型的,則要用單引號括起來。

範例 1

建立資料表 tb_dept3,指定部門位置預設為 Beijing,SQL 語句和運行結果如下所示。

mysql> CREATE TABLE tb_dept3
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22),
    -> location VARCHAR(50) DEFAULT &#39;Beijing&#39;
    -> );
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)

以上語句執行成功之後,表 tb_dept3 上的欄位 location 擁有了一個預設值 Beijing,新插入的記錄如果沒有指定部門位置,則預設都為 Beijing。

注意:在建立表格時為列新增預設值,可以一次為多個欄位新增預設值,需要注意不同列的資料類型。

在修改表格時新增預設值限制

#修改表格時新增預設值限制的語法格式如下:

ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <数据类型> DEFAULT <默认值>;

例2

修改資料表tb_dept3,將部門位置的預設值修改為Shanghai,SQL 語句和運行結果如下所示。

mysql> ALTER TABLE tb_dept3
    -> CHANGE COLUMN location
    -> location VARCHAR(50) DEFAULT &#39;Shanghai&#39;;
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)

刪除預設值約束

當一個表中的列不需要設定預設值時,就需要從表中刪除。

修改表時刪除預設值限制的語法格式如下:

ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> DEFAULT NULL;

範例3

#修改資料表tb_dept3,將部門位置的預設值限制刪除,SQL 語句和運行結果如下所示。

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)

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

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