MySQL修改数据表中的字段名
在一张数据表中只能设置一个唯一名称的字段名。在同一张数据表中,不能出现两个名称完全相同的字段名。
因此,数据库系统可以通过字段名来区分数据表中的不同字段。
在MySQL中,ALTER TABLE语句也可以修改数据表的字段名。基本语法格式如下:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
其中,“旧字段名”指修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”表示修改后的数据类型,如果不需要修改,则将新数据类型设置成与原来一样。
MySQL只修改字段名
使用ALTER TABLE语句可以直接修改字段名,而不改变该字段的数据类型。
实例:将baike369表中的name字段改名为stu_name字段,且不改变数据类型。操作步骤如下:
1. 由于不改变该字段的数据类型,因此需要知道该字段现在的数据类型。使用DESC语句查看baike369表的结构。如下图所示:
从上图中可以看出,baike369表中存在name字段,并且数据类型为VARCHAR(30)。
2. 现在,将baike369表中的name字段改名为stu_name字段。SQL代码如下:
ALTER TABLE baike369 CHANGE name stu_name VARCHAR(30);
在DOS提示符窗口中查看MySQL修改数据表中的字段名的操作效果。如下图所示:
从上图中可以看出,结果显示修改已经成功。
3. 使用DESC语句重新查看baike369表,以检查name字段是否已经改名为stu_name。如下图所示:
从上图中可以看出,baike369表中已经不存在name字段,取而代之的是stu_name字段,而且字段的数据类型没有发生改变。
MySQL修改字段名和字段数据类型
使用ALTER TABLE语句可以直接修改字段名和该字段的数据类型。
实例:将baike369表中的sex字段改名为stu_sex,并且数据类型修改为INT(2)。操作步骤如下:
1. 使用DESC语句查看baike369表的结构。如上图所示。
从查询结果可以看出,baike369表中存在sex字段,并且数据类型为TINYINT(1)。
2. 执行ALTER TABLE语句修改sex字段名和数据类型。SQL代码如下:
ALTER TABLE baike369 CHANGE sex stu_sex INT(2);
注:MODIFY和CHANGE都可以改变字段的数据类型。不同的是,CHANGE可以在改变字段数据类型的同时,改变字段名。
在DOS提示符窗口中查看MySQL修改字段名和字段数据类型的操作效果。如下图所示:
从上图中可以看出,结果显示修改已经成功!
3. 使用DESC语句重新查看baike369表,以检查sex字段是否仍存在,它的数据类型是否已经修改。如下图所示:
从上图中可以看出,baike369表中已经不存在sex字段,取而代之的是stu_sex字段。数据类型也从TINYINT(1)变成了INT(2)。