当前位置:嗨网首页>书籍在线阅读

16-修改字段名

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.3.3 修改字段名

MySQL中修改表字段名的语法规则如下。

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

其中,“旧字段名”指修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样即可,但数据类型不能为空。

【范例5-15】

将数据表tb_dept1中的location字段名称改为loc,数据类型保持不变,SQL语句如下。使用DESC查看表tb_dept1,会发现字段名称已经修改成功,结果如下。

ALTER TABLE tb_dept1 CHANGE location loc VARCHAR(50);

mysql> DESC tb_dept1; +-------+-------------+------+-----+---------+-------+ |Field|Type |Null|Key|Default|Extra| +-------+-------------+------+-----+---------+-------+ |id |int(11) |NO |PRI|NULL | | |name |varchar(30)|YES | |NULL | | |loc |varchar(50)|YES | |NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)

【范例5-16】

将数据表tb_dept1中的loc字段名改为location,同时将数据类型变为VARCHAR(60),SQL语句如下。

ALTER TABLE tb_dept1 CHANGE loc location VARCHAR(60);

使用DESC查看表tb_dept1,会发现字段的名称和数据类型已经修改成功,结果如下。

mysql> DESC tb_dept1; +----------+-------------+------+-----+---------+-------+ |Field |Type |Null|Key|Default|Extra| +----------+-------------+------+-----+-----66----+-------+ |id |int(11) |NO |PRI|NULL | | |name |varchar(30)|YES | |NULL | | |location|varchar(60)|YES | |NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)

CHANGE也可以只修改数据类型,实现和MODIFY同样的效果,方法是将SQL语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”。

提示 由于不同类型的数据在机器中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录。因此,当数据库中已经有数据时,不要轻易修改数据类型。