- MySQL数据库管理与开发实践教程 (清华电脑学堂)
- 程朝斌
- 1209字
- 2025-03-09 06:50:47
3.6 字段操作
字段的操作包括字段的添加(在已经存在的表中添加字段)、字段信息的修改和删除字段。本节详细介绍字段的操作。
3.6.1 添加字段
字段的添加可以使用MySQL Workbench或SQL语句。在MySQL Workbench工具下添加字段,相当于对表的信息进行修改,可直接在如图3-18所示的界面中添加即可,其操作与表的修改操作一样。
而使用SQL语句修改字段信息相对比较麻烦,需要有字段名、数据类型、完整性约束等信息。使用ADD关键字添加字段的语法如下:
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST | AFTER 已存在字段名];
新字段名为需要添加的字段的名称;FIRST为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER为可选参数,其作用是将新添加的字段添加到指定的“已存在字段名”的后面。
【范例2】
向shop数据库的goodses表中添加字段,名为manager、数据类型为长度可变的字符串,可以为空,放在price字段的后面,代码如下。
ALTER TABLE 'shop'. 'goodses' ADD COLUMN 'manager' VARCHAR(45) NULL AFTER 'price';
上述代码中,若没有使用AFTER 'price'语句,将默认在最后面添加新的字段。
3.6.2 字段修改
字段的修改包括字段位置的修改、字段名称的修改和字段信息的修改。字段信息的修改又包括字段数据类型的修改、字段约束的修改等。本节以位置的修改、字段名称的修改和字段信息的修改来介绍字段的修改。
1.字段位置修改
字段位置的修改可使用MySQL Workbench或SQL语句。在MySQL Workbench下可进行的字段操作有很多,首先打开表修改界面,在需要修改的字段所在行右击可打开弹出菜单,如图3-21所示。

图3-21 字段操作
弹出菜单有字段的上移、下移、删除等操作,可直接单击需要进行的选项进行字段的操作。但是这样的操作并没有保存在数据库中,操作后的效果将直接在界面中显示,在用户单击Apply按钮后打开执行对话框,接着单击Apply按钮执行字段的修改,最后在执行状态对话框中单击Finish按钮才能完成修改。
除了上述操作以外,还可以通过ALTER TABLE来改变表中字段的相对位置,语法格式如下:
ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;
“字段1”指要修改位置的字段,“数据类型”指“字段1”的数据类型,“FIRST”为可选参数,指将“字段1”修改为表的第一个字段,“AFTER 字段2”指将“字段1”插入到“字段2”后面。
【范例3】
将shop数据库goodses表的manager字段放在name字段之后,代码如下。
ALTER TABLE 'shop'. 'goodses' MODIFY 'manager' VARCHAR(45) AFTER 'name';
2.字段名称修改
字段名称的修改使用MySQL Workbench或SQL语句。在MySQL Workbench中的操作与表的修改操作一样;使用SQL语句需要用到CHANGE COLUMN,语法如下:
ALTER TABLE 数据表 CHANGE COLUMN '原字段名' '新字段名' 字段的数据类型 字段约束 ;
【范例4】
将shop数据库goodses表的manager字段重命名为principal,代码如下。
ALTER TABLE 'shop'. 'goodses' CHANGE COLUMN 'manager' 'principal' VARCHAR(45) NULL DEFAULT NULL ;
3.字段类型修改
字段类型和约束的修改使用MySQL Workbench或SQL语句。在MySQL Workbench中的操作与表的修改操作一样;使用SQL语句同样需要用到CHANGE COLUMN,语法如下:
ALTER TABLE 数据表 CHANGE COLUMN '字段名' '字段名' 字段的数据类型 字段约束 ;
【范例5】
将shop数据库goodses表的price字段的数据类型修改为长度可变的字符串,代码如下。
USE shop;ALTER TABLE goodses CHANGE COLUMN 'price' 'price' VARCHAR(45) NOT NULL;
3.6.3 删除字段
字段的删除使用MySQL Workbench或SQL语句。在MySQL Workbench中的操作与表的修改操作一样;使用SQL语句语法如下:
ALTER TABLE <表名> DROP <字段名>;
【范例6】
删除shop数据库goodses表的principal字段,代码如下。
ALTER TABLE 'shop'. 'goodses' DROP principal