mysql表中怎麼修改欄位?

青灯夜游
發布: 2020-10-13 16:39:04
原創
17976 人瀏覽過

在mysql表中,可以使用「ALTER TABLE 表名CHANGE 舊字段名新字段名資料類型;」語句來修改字段名稱;使用「ALTER TABLE 表名MODIFY 字段名新資料類型;」語句來修改欄位資料類型。

mysql表中怎麼修改欄位?

(推薦教學:mysql影片教學

修改欄位名稱

MySQL 中修改表格欄位名稱的語法規則如下:

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;
登入後複製

其中:

  • 舊欄位名稱:指修改前的字段名;

  • 新欄位名稱:指修改後的欄位名稱;

  • #資料類型:指修改後的資料類型,如果不需要修改欄位的資料類型,可以將資料類型設定成與原來一樣,但資料類型不能為空。

範例1

使用ALTER TABLE 修改表格tb_emp1 的結構,將col1 欄位名稱改為col3,同時將資料型別變成CHAR (30),SQL 語句和運行結果如下所示。

mysql> ALTER TABLE tb_emp1
    -> CHANGE col1 col3 CHAR(30);
Query OK, 0 rows affected (0.76 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col3   | char(30)    | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
登入後複製

CHANGE 也可以只修改資料類型,實作和MODIFY 同樣的效果,方法是將SQL 語句中的「新欄位名稱」和「舊欄位名稱」設定為相同的名稱,只改變「數據類型」。

提示:由於不同類型的資料在機器中的儲存方式及長度並不相同,修改資料類型可能會影響資料表中已有的資料記錄,因此,當資料表中已經有資料時,不要輕易修改資料類型。

修改欄位資料類型

修改欄位的資料型別就是把欄位的資料型別轉換成另一種資料型別。在MySQL 中修改欄位資料類型的語法規則如下:

ALTER TABLE 表名 MODIFY 字段名 新数据类型;
登入後複製

其中:

  • #表名:指要修改資料類型的欄位所在資料表的名稱;

  • 欄位名稱:指需要修改的欄位;

  • #新資料類型:指修改後欄位的新資料類型。

例2

使用ALTER TABLE 修改表格tb_emp1 的結構,將name 欄位的資料型別由VARCHAR(22) 修改成VARCHAR( 30),SQL 語句和運行結果如下所示。

mysql> ALTER TABLE tb_emp1
    -> MODIFY name VARCHAR(30);
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| col1   | int(11)     | YES  |     | NULL    |       |
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| col2   | int(11)     | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
登入後複製

語句執行後,發現表 tb_emp1 中 name 欄位的資料型別已修改成 VARCHAR(30),修改成功。

以上是mysql表中怎麼修改欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板