新聞中心
在《 MySQL數(shù)據(jù)表添加字段》一節(jié)我們介紹了 MySQL 添加數(shù)據(jù)表字段的 3 種方式,本節(jié)主要介紹 MySQL 修改和刪除數(shù)據(jù)表字段的方法。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比東川網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式東川網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋東川地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
修改字段名稱
MySQL 中修改表字段名的語法規(guī)則如下:
ALTER TABLE <表名> CHANGE <舊字段名> <新字段名> <新數(shù)據(jù)類型>;
其中:
- 舊字段名:指修改前的字段名;
- 新字段名:指修改后的字段名;
- 新數(shù)據(jù)類型:指修改后的數(shù)據(jù)類型,如果不需要修改字段的數(shù)據(jù)類型,可以將新數(shù)據(jù)類型設(shè)置成與原來一樣,但數(shù)據(jù)類型不能為空。
例 1
使用 ALTER TABLE 修改表 tb_emp1 的結(jié)構(gòu),將 col1 字段名稱改為 col3,同時將數(shù)據(jù)類型變?yōu)?CHAR(30),SQL 語句和運行結(jié)果如下所示。
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 也可以只修改數(shù)據(jù)類型,實現(xiàn)和 MODIFY 同樣的效果,方法是將 SQL 語句中的“新字段名”和“舊字段名”設(shè)置為相同的名稱,只改變“數(shù)據(jù)類型”。
提示:由于不同類型的數(shù)據(jù)在機器中的存儲方式及長度并不相同,修改數(shù)據(jù)類型可能會影響數(shù)據(jù)表中已有的數(shù)據(jù)記錄,因此,當數(shù)據(jù)表中已經(jīng)有數(shù)據(jù)時,不要輕易修改數(shù)據(jù)類型。
修改字段數(shù)據(jù)類型
修改字段的數(shù)據(jù)類型就是把字段的數(shù)據(jù)類型轉(zhuǎn)換成另一種數(shù)據(jù)類型。在 MySQL 中修改字段數(shù)據(jù)類型的語法規(guī)則如下:
ALTER TABLE <表名> MODIFY <字段名> <數(shù)據(jù)類型>
其中:
- 表名:指要修改數(shù)據(jù)類型的字段所在表的名稱;
- 字段名:指需要修改的字段;
- 數(shù)據(jù)類型:指修改后字段的新數(shù)據(jù)類型。
例 2
使用 ALTER TABLE 修改表 tb_emp1 的結(jié)構(gòu),將 name 字段的數(shù)據(jù)類型由 VARCHAR(22) 修改成 VARCHAR(30),SQL 語句和運行結(jié)果如下所示。
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)語句執(zhí)行后,發(fā)現(xiàn)表 tb_emp1 中 name 字段的數(shù)據(jù)類型已經(jīng)修改成 VARCHAR(30),修改成功。
刪除字段
刪除字段是將數(shù)據(jù)表中的某個字段從表中移除,語法格式如下:
ALTER TABLE <表名> DROP <字段名>;
其中,“字段名”指需要從表中刪除的字段的名稱。
例 3
使用 ALTER TABLE 修改表 tb_emp1 的結(jié)構(gòu),刪除 col2 字段,SQL 語句和運行結(jié)果如下所示。
mysql> ALTER TABLE tb_emp1
-> DROP col2;
Query OK, 0 rows affected (0.53 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 | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec) 標題名稱:創(chuàng)新互聯(lián)數(shù)據(jù)庫教程:MySQL修改/刪除字段
路徑分享:http://m.fisionsoft.com.cn/article/djjiijc.html


咨詢
建站咨詢
