在mysql表中,可以使用「ALTER TABLE 表名CHANGE 舊字段名新字段名資料類型;」語句來修改字段名稱;使用「ALTER TABLE 表名MODIFY 字段名新資料類型;」語句來修改欄位資料類型。
(推薦教學: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中文網其他相關文章!